Tokens are defined as follow:
match_id = [a-zA-Z_][a-zA-Z0-9_]*
TOK_IDENTIFIER := match_id
TOK_LANG_IDENTIFIER := @match_id
TOK_INTEGER := [0-9]+ ([0-9]+match_id, but this is currently unsupported)
Properties props = new Properties() | |
def propFile = file('login.properties') | |
def username = "" | |
def password = "" | |
if (propFile.canRead()){ | |
props.load(new FileInputStream(propFile)) | |
if (props!=null && props.containsKey('password') && props.containsKey('username')) { | |
username = props['username'] | |
password = props['password'] |
#include <concepts> | |
#include <type_traits> | |
#include <algorithm> | |
#include <string_view> | |
namespace detail | |
{ | |
template<typename T> constexpr bool always_false = false; | |
template<typename T> |
revision | changes |
---|---|
1.0 | initial specification |
The Monumenta paper patches implementation will expose interfaces to plugins that enable the use of
features and programming techniques that would otherwise be difficult or ugly with vanilla paper.
The API is designed with abstracting away from Minecraft in mind, so version adapters should not be
required to use it. The most notable exception is the PlayerData
event interface(s) for legacy reasons.
Item API provides a way to manipulate item properties on the client side without maintaining server-side state.
Like an onion, the item api has layers
Items can be described via json. I am too lazy to describe this format for now.
The API provides a way to register items. A custom item simply needs to implement an interface, which provides callbacks that allows you to render specific items.