public abstract class CommandAPI
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
CommandAPI.ArgType |
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object[] |
exceptionArgs |
protected java.lang.String |
exceptionKey |
protected boolean |
executionNode |
protected java.lang.String |
name |
protected CommandAPI |
parent |
protected java.util.Collection<CommandAPI> |
subCommands |
protected CommandAPI.ArgType |
type |
| Constructor and Description |
|---|
CommandAPI(java.lang.String name,
CommandAPI parent,
CommandAPI.ArgType type,
boolean executionNode) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBasicSubCommand(java.lang.String name,
CommandAPI.ArgType type,
org.apache.logging.log4j.util.TriConsumer<MinecraftServerAPI<?>,CommandSenderAPI<?>,java.lang.String[]> executor) |
void |
addSubCommand(CommandAPI cmd) |
protected void |
buildStack(java.util.List<CommandAPI> stack) |
abstract void |
execute(MinecraftServerAPI<?> server,
CommandSenderAPI<?> sender,
java.lang.String input,
java.lang.String remaining) |
void |
execute(java.lang.Object unwrappedSender,
java.lang.String input,
java.lang.String remaining) |
protected java.lang.String |
getErrorKey(java.lang.String... extras) |
protected java.lang.String |
getMessageKey(java.lang.String... keys) |
CommandAPI |
getRoot() |
java.lang.String |
getRootName() |
CommandSenderAPI<?> |
getSender(java.lang.Object sender) |
MinecraftServerAPI<?> |
getServer() |
java.util.List<CommandAPI> |
getStack() |
java.util.List<CommandAPI> |
getStackReverse() |
abstract java.util.List<java.lang.String> |
getTabCompletions(MinecraftServerAPI<?> server,
CommandSenderAPI<?> sender,
java.lang.String input,
java.lang.String remaining) |
java.util.List<java.lang.String> |
getTabCompletions(java.lang.Object unwrappedSender,
java.lang.String input,
java.lang.String remaining) |
protected java.lang.String |
getUsageKey() |
protected boolean |
hasParentInput(java.lang.String input) |
boolean |
isValidInput(java.lang.String input) |
protected boolean |
isValidNumber(java.lang.String input,
java.util.function.Function<java.lang.String,java.lang.Number> func) |
protected boolean |
isValidString(java.lang.String input)
Only string type commands should override this
|
<T> T |
parseArgAs(java.lang.Object[] arg,
java.lang.Class<T> ignored)
The actual unparsed string should be the last element in the array after the server or whatever else is needed
to parse it correctly.
|
abstract void |
prepareExceptionInfo() |
<E> E |
unwrapEntity(CommandSenderAPI<?> sender) |
protected final CommandAPI parent
protected final java.lang.String name
protected final CommandAPI.ArgType type
protected final boolean executionNode
protected final java.util.Collection<CommandAPI> subCommands
protected java.lang.String exceptionKey
protected java.lang.Object[] exceptionArgs
public CommandAPI(java.lang.String name,
CommandAPI parent,
CommandAPI.ArgType type,
boolean executionNode)
public void addBasicSubCommand(java.lang.String name,
CommandAPI.ArgType type,
org.apache.logging.log4j.util.TriConsumer<MinecraftServerAPI<?>,CommandSenderAPI<?>,java.lang.String[]> executor)
public void addSubCommand(CommandAPI cmd)
protected void buildStack(java.util.List<CommandAPI> stack)
public void execute(java.lang.Object unwrappedSender,
java.lang.String input,
java.lang.String remaining)
throws java.lang.Exception
java.lang.Exceptionpublic abstract void execute(MinecraftServerAPI<?> server, CommandSenderAPI<?> sender, java.lang.String input, java.lang.String remaining) throws java.lang.Exception
java.lang.Exceptionprotected java.lang.String getErrorKey(java.lang.String... extras)
protected java.lang.String getMessageKey(java.lang.String... keys)
public CommandAPI getRoot()
public java.lang.String getRootName()
public CommandSenderAPI<?> getSender(java.lang.Object sender)
public MinecraftServerAPI<?> getServer()
public java.util.List<CommandAPI> getStack()
public java.util.List<CommandAPI> getStackReverse()
public java.util.List<java.lang.String> getTabCompletions(java.lang.Object unwrappedSender,
java.lang.String input,
java.lang.String remaining)
public abstract java.util.List<java.lang.String> getTabCompletions(MinecraftServerAPI<?> server, CommandSenderAPI<?> sender, java.lang.String input, java.lang.String remaining)
protected java.lang.String getUsageKey()
protected boolean hasParentInput(java.lang.String input)
public boolean isValidInput(java.lang.String input)
protected boolean isValidString(java.lang.String input)
protected boolean isValidNumber(java.lang.String input,
java.util.function.Function<java.lang.String,java.lang.Number> func)
public <T> T parseArgAs(java.lang.Object[] arg,
java.lang.Class<T> ignored)
throws java.lang.Exception
java.lang.Exceptionpublic abstract void prepareExceptionInfo()
public <E> E unwrapEntity(CommandSenderAPI<?> sender)