CommandAPI 9.4.0
An API for the command UI introduced in Minecraft 1.13
dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender > Class Template Referenceabstract

This is a base class for AbstractCommandAPICommand and AbstractCommandTree command definitions. More...

+ Inheritance diagram for dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >:

Public Member Functions

String getName ()
 Returns the name of this command. More...
 
Impl withPermission (CommandPermission permission)
 Applies a permission to the current command builder. More...
 
Impl withPermission (String permission)
 Applies a permission to the current command builder. More...
 
Impl withoutPermission (CommandPermission permission)
 Applies a permission to the current command builder. More...
 
Impl withoutPermission (String permission)
 Applies a permission to the current command builder. More...
 
Impl withRequirement (Predicate< CommandSender > requirement)
 Adds a requirement that has to be satisfied to use this command. More...
 
Impl withAliases (String... aliases)
 Adds an array of aliases to the current command builder. More...
 
CommandPermission getPermission ()
 Returns the permission associated with this command. More...
 
void setPermission (CommandPermission permission)
 Sets the permission required to run this command. More...
 
String[] getAliases ()
 Returns an array of aliases that can be used to run this command. More...
 
void setAliases (String[] aliases)
 Sets the aliases for this command. More...
 
Predicate< CommandSender > getRequirements ()
 Returns the requirements that must be satisfied to run this command. More...
 
void setRequirements (Predicate< CommandSender > requirements)
 Sets the requirements that must be satisfied to run this command. More...
 
String getShortDescription ()
 Returns the short description for this command. More...
 
Impl withShortDescription (String description)
 Sets the short description for this command. More...
 
String getFullDescription ()
 Returns the full description for this command. More...
 
Impl withFullDescription (String description)
 Sets the full description for this command. More...
 
Impl withUsage (String... usage)
 Sets the full usage for this command. More...
 
String[] getUsage ()
 Returns the usage for this command. More...
 
Impl withHelp (String shortDescription, String fullDescription)
 Sets the short and full description for this command. More...
 
void override ()
 Overrides a command. More...
 
void register ()
 Registers this command with the default namespace.
 
abstract void register (String namespace)
 Registers this command with a custom String namespace. 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

 ExecutableCommand (final CommandMetaData< CommandSender > meta)
 

Protected Attributes

final CommandMetaData< CommandSender > meta
 The Command's meta-data for this executable command.
 
CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > > executor = new CommandAPIExecutor<>()
 The CommandAPIExecutor for this executable implementation.
 

Detailed Description

This is a base class for AbstractCommandAPICommand and AbstractCommandTree command definitions.

Parameters
<Impl>The class extending this class, used as the return type for chain calls
<CommandSender>The CommandSender class used by the class extending this class

Member Function Documentation

◆ clearExecutors()

Impl dev.jorel.commandapi.Executable< Impl, CommandSender >.clearExecutors ( )
inherited

Clear all executors from the current command builder.

Returns
this command builder

◆ getAliases()

String[] dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getAliases ( )

Returns an array of aliases that can be used to run this command.

Returns
an array of aliases that can be used to run this command

◆ getExecutor()

CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > > dev.jorel.commandapi.Executable< Impl, CommandSender >.getExecutor ( )
inherited

Returns the executors that this command has.

Returns
the executors that this command has

◆ getFullDescription()

String dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getFullDescription ( )

Returns the full description for this command.

Returns
the full description for this command

◆ getName()

String dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getName ( )

Returns the name of this command.

Returns
the name of this command

◆ getPermission()

CommandPermission dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getPermission ( )

Returns the permission associated with this command.

Returns
the permission associated with this command

◆ getRequirements()

Predicate< CommandSender > dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getRequirements ( )

Returns the requirements that must be satisfied to run this command.

Returns
the requirements that must be satisfied to run this command

◆ getShortDescription()

String dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getShortDescription ( )

Returns the short description for this command.

Returns
the short description for this command

◆ getUsage()

String[] dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.getUsage ( )

Returns the usage for this command.

Returns
the usage for this command

◆ instance()

Impl dev.jorel.commandapi.ChainableBuilder< Impl >.instance ( )
inherited

Returns the instance of this class with the class Impl.

Used for chaining builder methods.

Implemented in dev.jorel.commandapi.arguments.Argument< T >.

◆ override()

void dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.override ( )

Overrides a command.

Effectively the same as unregistering the command using CommandAPI.unregister() and then registering the command using .register()

◆ register()

abstract void dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.register ( String  namespace)
abstract

◆ setAliases()

void dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.setAliases ( String[]  aliases)

Sets the aliases for this command.

Parameters
aliasesthe aliases for this command

◆ setExecutor()

void dev.jorel.commandapi.Executable< Impl, CommandSender >.setExecutor ( CommandAPIExecutor< CommandSender, AbstractCommandSender<? extends CommandSender > >  executor)
inherited

Sets the executors for this command.

Parameters
executorthe executors for this command

◆ setPermission()

void dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.setPermission ( CommandPermission  permission)

Sets the permission required to run this command.

Parameters
permissionthe permission required to run this command

◆ setRequirements()

void dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.setRequirements ( Predicate< CommandSender >  requirements)

Sets the requirements that must be satisfied to run this command.

Parameters
requirementsthe requirements that must be satisfied to run this command

◆ withAliases()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withAliases ( String...  aliases)

Adds an array of aliases to the current command builder.

Parameters
aliasesAn array of aliases which can be used to execute this command
Returns
this command builder

◆ withFullDescription()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withFullDescription ( String  description)

Sets the full description for this command.

This is the help which is shown in the specific /help page for this command (e.g. /help mycommand).

Parameters
descriptionthe full description for this command
Returns
this command builder

◆ withHelp()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withHelp ( String  shortDescription,
String  fullDescription 
)

Sets the short and full description for this command.

This is a short-hand for the ExecutableCommand#withShortDescription and ExecutableCommand#withFullDescription methods.

Parameters
shortDescriptionthe short description for this command
fullDescriptionthe full description for this command
Returns
this command builder

◆ withoutPermission() [1/2]

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withoutPermission ( CommandPermission  permission)

Applies a permission to the current command builder.

Parameters
permissionThe permission node required to execute this command
Returns
this command builder

◆ withoutPermission() [2/2]

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withoutPermission ( String  permission)

Applies a permission to the current command builder.

Parameters
permissionThe permission node required to execute this command
Returns
this command builder

◆ withPermission() [1/2]

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withPermission ( CommandPermission  permission)

Applies a permission to the current command builder.

Parameters
permissionThe permission node required to execute this command
Returns
this command builder

◆ withPermission() [2/2]

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withPermission ( String  permission)

Applies a permission to the current command builder.

Parameters
permissionThe permission node required to execute this command
Returns
this command builder

◆ withRequirement()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withRequirement ( Predicate< CommandSender >  requirement)

Adds a requirement that has to be satisfied to use this command.

This method can be used multiple times and each use of this method will AND its requirement with the previously declared ones

Parameters
requirementthe predicate that must be satisfied to use this command
Returns
this command builder

◆ withShortDescription()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withShortDescription ( String  description)

Sets the short description for this command.

This is the help which is shown in the main /help menu.

Parameters
descriptionthe short description for this command
Returns
this command builder

◆ withUsage()

Impl dev.jorel.commandapi.ExecutableCommand< Impl, CommandSender >.withUsage ( String...  usage)

Sets the full usage for this command.

This is the usage which is shown in the specific /help page for this command (e.g. /help mycommand).

Parameters
usagethe full usage for this command
Returns
this command builder