CommandAPI 9.6.0
An API for the command UI introduced in Minecraft 1.13
|
The core abstract class for Command API arguments. More...
Public Member Functions | |
abstract Class< T > | getPrimitiveType () |
Returns the primitive type of the current Argument. More... | |
abstract CommandAPIArgumentType | getArgumentType () |
Returns the argument type for this argument. More... | |
final ArgumentType<?> | getRawType () |
Returns the NMS or brigadier type for this argument. More... | |
final String | getNodeName () |
Returns the name of this argument's node. More... | |
abstract< Source > T | parseArgument (CommandContext< Source > cmdCtx, String key, CommandArguments previousArgs) throws CommandSyntaxException |
Parses an argument, returning the specific Bukkit object that the argument represents. More... | |
Impl | includeSuggestions (ArgumentSuggestions< CommandSender > suggestions) |
Include suggestions to add to the list of default suggestions represented by this argument. More... | |
Optional< ArgumentSuggestions< CommandSender > > | getIncludedSuggestions () |
Returns an optional function which produces an array of suggestions which should be added to existing suggestions. More... | |
Impl | replaceSuggestions (ArgumentSuggestions< CommandSender > suggestions) |
Replace the suggestions of this argument. More... | |
final Optional< ArgumentSuggestions< CommandSender > > | getOverriddenSuggestions () |
Returns an optional function that maps the command sender to an IStringTooltip array of suggestions for the current command. More... | |
final Impl | withPermission (CommandPermission permission) |
Assigns the given permission as a requirement to execute this command. More... | |
final Impl | withPermission (String permission) |
Assigns the given permission as a requirement to execute this command. More... | |
final CommandPermission | getArgumentPermission () |
Returns the permission required to run this command. More... | |
final Predicate< CommandSender > | getRequirements () |
Returns the requirements required to run this command. More... | |
final Impl | withRequirement (Predicate< CommandSender > requirement) |
Adds a requirement that has to be satisfied to use this argument. More... | |
boolean | isListed () |
Returns true if this argument will be listed in the Object args[] of the command executor. More... | |
Impl | setListed (boolean listed) |
Sets whether this argument will be listed in the Object args[] of the command executor. More... | |
boolean | isOptional () |
Returns true if this argument will be optional when executing the command this argument is included in. More... | |
Impl | setOptional (boolean optional) |
Sets whether this argument will be optional when executing the command this argument is included in. More... | |
List< Argument > | getCombinedArguments () |
Returns a list of arguments linked to this argument. More... | |
boolean | hasCombinedArguments () |
Returns true if this argument has linked arguments. More... | |
final Impl | combineWith (Argument... combinedArguments) |
Adds combined arguments to this argument. More... | |
List< String > | getEntityNames (Object argument) |
Gets a list of entity names for the current provided argument. More... | |
void | copyPermissionsAndRequirements (Argument argument) |
Copies permissions and requirements from the provided argument to this argument This also resets additional permissions and requirements. More... | |
String | getHelpString () |
String | toString () |
Impl | then (final AbstractArgumentTree<?, Argument, CommandSender > tree) |
Create a child branch on this node. More... | |
CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > > | getExecutor () |
Returns the executors that this command has. More... | |
void | setExecutor (CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > > executor) |
Sets the executors for this command. More... | |
Impl | clearExecutors () |
Clear all executors from the current command builder. More... | |
Impl | instance () |
Returns the instance of this class with the class Impl. More... | |
Protected Member Functions | |
AbstractArgument (String nodeName, ArgumentType<?> rawType) | |
Constructs an argument with a given NMS/brigadier type. More... | |
Protected Attributes | |
CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > > | executor = new CommandAPIExecutor<>() |
The CommandAPIExecutor for this executable implementation. | |
The core abstract class for Command API arguments.
<T> | The type of the underlying object that this argument casts to |
<Impl> | The class extending this class, used as the return type for chain calls |
<Argument> | The implementation of Argument used by the class extending this class |
<CommandSender> | The CommandSender class used by the class extending this class |
|
protected |
Constructs an argument with a given NMS/brigadier type.
nodeName | the name to assign to this argument node |
rawType | the NMS or brigadier type to be used for this argument |
|
inherited |
Clear all executors from the current command builder.
final Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.combineWith | ( | Argument... | combinedArguments | ) |
Adds combined arguments to this argument.
Combined arguments are used to have required arguments after optional arguments by ignoring they exist until they are added to the arguments array for registration.
This method also causes permissions and requirements from this argument to be copied over to the arguments you want to combine this argument with. Their permissions and requirements will be ignored.
combinedArguments | The arguments to combine to this argument |
void dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.copyPermissionsAndRequirements | ( | Argument | argument | ) |
Copies permissions and requirements from the provided argument to this argument This also resets additional permissions and requirements.
argument | The argument to copy permissions and requirements from |
final CommandPermission dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getArgumentPermission | ( | ) |
Returns the permission required to run this command.
|
abstract |
Returns the argument type for this argument.
List< Argument > dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getCombinedArguments | ( | ) |
Returns a list of arguments linked to this argument.
List< String > dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getEntityNames | ( | Object | argument | ) |
Gets a list of entity names for the current provided argument.
This is expected to be implemented by EntitySelectorArgument
in Bukkit, see EntitySelectorArgument#getEntityNames(Object)
argument | a parsed (Bukkit) object representing the entity selector type. This is either a List, an Entity or a Player |
argument
|
inherited |
Returns the executors that this command has.
Optional< ArgumentSuggestions< CommandSender > > dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getIncludedSuggestions | ( | ) |
Returns an optional function which produces an array of suggestions which should be added to existing suggestions.
final String dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getNodeName | ( | ) |
Returns the name of this argument's node.
final Optional< ArgumentSuggestions< CommandSender > > dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getOverriddenSuggestions | ( | ) |
Returns an optional function that maps the command sender to an IStringTooltip array of suggestions for the current command.
Optional.empty()
if there are no overridden suggestions.
|
abstract |
Returns the primitive type of the current Argument.
After executing a command, this argument should yield an object of this returned class.
final ArgumentType<?> dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getRawType | ( | ) |
Returns the NMS or brigadier type for this argument.
final Predicate< CommandSender > dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.getRequirements | ( | ) |
Returns the requirements required to run this command.
boolean dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.hasCombinedArguments | ( | ) |
Returns true if this argument has linked arguments.
Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.includeSuggestions | ( | ArgumentSuggestions< CommandSender > | suggestions | ) |
Include suggestions to add to the list of default suggestions represented by this argument.
suggestions | An ArgumentSuggestions object representing the suggestions. Use the Static methods on ArgumentSuggestions to create these. |
|
inherited |
Returns the instance of this class with the class Impl.
Used for chaining builder methods.
Implemented in dev.jorel.commandapi.arguments.Argument< T >.
boolean dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.isListed | ( | ) |
Returns true if this argument will be listed in the Object args[] of the command executor.
boolean dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.isOptional | ( | ) |
Returns true if this argument will be optional when executing the command this argument is included in.
|
abstract |
Parses an argument, returning the specific Bukkit object that the argument represents.
This is intended for use by the internals of the CommandAPI and isn't expected to be used outside the CommandAPI
<Source> | the command source type |
cmdCtx | the context which ran this command |
key | the name of the argument node |
previousArgs | a CommandArguments object holding previous parsed arguments |
CommandSyntaxException | if parsing fails |
Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.replaceSuggestions | ( | ArgumentSuggestions< CommandSender > | suggestions | ) |
Replace the suggestions of this argument.
suggestions | An ArgumentSuggestions object representing the suggestions. Use the static methods in ArgumentSuggestions to create these. |
|
inherited |
Sets the executors for this command.
executor | the executors for this command |
Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.setListed | ( | boolean | listed | ) |
Sets whether this argument will be listed in the Object args[] of the command executor.
listed | if true, this argument will be included in the Object args[] of the command executor |
Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.setOptional | ( | boolean | optional | ) |
Sets whether this argument will be optional when executing the command this argument is included in.
optional | if true, this argument will be optional when executing the command this argument is included in |
|
inherited |
Create a child branch on this node.
tree | The child branch |
final Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.withPermission | ( | CommandPermission | permission | ) |
Assigns the given permission as a requirement to execute this command.
permission | the permission required to execute this command |
final Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.withPermission | ( | String | permission | ) |
Assigns the given permission as a requirement to execute this command.
permission | the permission required to execute this command |
final Impl dev.jorel.commandapi.arguments.AbstractArgument< T, Impl, Argument, CommandSender >.withRequirement | ( | Predicate< CommandSender > | requirement | ) |
Adds a requirement that has to be satisfied to use this argument.
This method can be used multiple times and each use of this method will AND its requirement with the previously declared ones
requirement | the predicate that must be satisfied to use this argument |