Package org.bukkit.command
Class Command
java.lang.Object
org.bukkit.command.Command
- Direct Known Subclasses:
BukkitCommand,FormattedCommandAlias,MultipleCommandAlias,PluginCommand,VanillaCommand
public abstract class Command
extends java.lang.Object
Represents a Command, which executes various tasks upon user input
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringdescriptionCustomTimingsHandlertimingsprotected java.lang.StringusageMessage -
Constructor Summary
-
Method Summary
Modifier and Type Method Description static voidbroadcastCommandMessage(CommandSender source, java.lang.String message)static voidbroadcastCommandMessage(CommandSender source, java.lang.String message, boolean sendToSource)abstract booleanexecute(CommandSender sender, java.lang.String commandLabel, java.lang.String[] args)Executes the command, returning its successjava.util.List<java.lang.String>getAliases()Returns a list of active aliases of this commandjava.lang.StringgetDescription()Gets a brief description of this commandjava.lang.StringgetLabel()Returns the label for this commandjava.lang.StringgetName()Returns the name of this commandjava.lang.StringgetPermission()Gets the permission required by users to be able to perform this commandjava.lang.StringgetPermissionMessage()Returns a message to be displayed on a failed permission check for this commandjava.lang.StringgetUsage()Gets an example usage of this commandbooleanisRegistered()Returns the current registered state of this commandbooleanregister(CommandMap commandMap)Registers this command to a CommandMap.CommandsetAliases(java.util.List<java.lang.String> aliases)Sets the list of aliases to request on registration for this command.CommandsetDescription(java.lang.String description)Sets a brief description of this command.booleansetLabel(java.lang.String name)Sets the label of this command.booleansetName(java.lang.String name)Sets the name of this command.voidsetPermission(java.lang.String permission)Sets the permission required by users to be able to perform this commandCommandsetPermissionMessage(java.lang.String permissionMessage)Sets the message sent when a permission check failsCommandsetUsage(java.lang.String usage)Sets the example usage of this commandjava.util.List<java.lang.String>tabComplete(CommandSender sender, java.lang.String[] args)Deprecated.This method is not supported and returns nulljava.util.List<java.lang.String>tabComplete(CommandSender sender, java.lang.String alias, java.lang.String[] args)Executed on tab completion for this command, returning a list of options the player can tab through.booleantestPermission(CommandSender target)Tests the givenCommandSenderto see if they can perform this command.booleantestPermissionSilent(CommandSender target)Tests the givenCommandSenderto see if they can perform this command.java.lang.StringtoString()booleanunregister(CommandMap commandMap)Unregisters this command from the passed CommandMap applying any outstanding changes
-
Field Details
-
description
protected java.lang.String description -
usageMessage
protected java.lang.String usageMessage -
timings
-
-
Constructor Details
-
Method Details
-
execute
public abstract boolean execute(CommandSender sender, java.lang.String commandLabel, java.lang.String[] args)Executes the command, returning its success- Parameters:
sender- Source object which is executing this commandcommandLabel- The alias of the command usedargs- All arguments passed to the command, split via ' '- Returns:
- true if the command was successful, otherwise false
-
tabComplete
@Deprecated public java.util.List<java.lang.String> tabComplete(CommandSender sender, java.lang.String[] args)Deprecated.This method is not supported and returns nullExecuted on tab completion for this command, returning a list of options the player can tab through.- Parameters:
sender- Source object which is executing this commandargs- All arguments passed to the command, split via ' '- Returns:
- a list of tab-completions for the specified arguments. This will never be null. List may be immutable.
-
tabComplete
public java.util.List<java.lang.String> tabComplete(CommandSender sender, java.lang.String alias, java.lang.String[] args) throws java.lang.IllegalArgumentExceptionExecuted on tab completion for this command, returning a list of options the player can tab through.- Parameters:
sender- Source object which is executing this commandalias- the alias being usedargs- All arguments passed to the command, split via ' '- Returns:
- a list of tab-completions for the specified arguments. This will never be null. List may be immutable.
- Throws:
java.lang.IllegalArgumentException- if sender, alias, or args is null
-
getName
public java.lang.String getName()Returns the name of this command- Returns:
- Name of this command
-
setName
public boolean setName(java.lang.String name)Sets the name of this command.May only be used before registering the command. Will return true if the new name is set, and false if the command has already been registered.
- Parameters:
name- New command name- Returns:
- returns true if the name change happened instantly or false if the command was already registered
-
getPermission
public java.lang.String getPermission()Gets the permission required by users to be able to perform this command- Returns:
- Permission name, or null if none
-
setPermission
public void setPermission(java.lang.String permission)Sets the permission required by users to be able to perform this command- Parameters:
permission- Permission name or null
-
testPermission
Tests the givenCommandSenderto see if they can perform this command.If they do not have permission, they will be informed that they cannot do this.
- Parameters:
target- User to test- Returns:
- true if they can use it, otherwise false
-
testPermissionSilent
Tests the givenCommandSenderto see if they can perform this command.No error is sent to the sender.
- Parameters:
target- User to test- Returns:
- true if they can use it, otherwise false
-
getLabel
public java.lang.String getLabel()Returns the label for this command- Returns:
- Label of this command
-
setLabel
public boolean setLabel(java.lang.String name)Sets the label of this command.May only be used before registering the command. Will return true if the new name is set, and false if the command has already been registered.
- Parameters:
name- The command's name- Returns:
- returns true if the name change happened instantly or false if the command was already registered
-
register
Registers this command to a CommandMap. Once called it only allows changes the registered CommandMap- Parameters:
commandMap- the CommandMap to register this command to- Returns:
- true if the registration was successful (the current registered CommandMap was the passed CommandMap or null) false otherwise
-
unregister
Unregisters this command from the passed CommandMap applying any outstanding changes- Parameters:
commandMap- the CommandMap to unregister- Returns:
- true if the unregistration was successfull (the current registered CommandMap was the passed CommandMap or null) false otherwise
-
isRegistered
public boolean isRegistered()Returns the current registered state of this command- Returns:
- true if this command is currently registered false otherwise
-
getAliases
public java.util.List<java.lang.String> getAliases()Returns a list of active aliases of this command- Returns:
- List of aliases
-
getPermissionMessage
public java.lang.String getPermissionMessage()Returns a message to be displayed on a failed permission check for this command- Returns:
- Permission check failed message
-
getDescription
public java.lang.String getDescription()Gets a brief description of this command- Returns:
- Description of this command
-
getUsage
public java.lang.String getUsage()Gets an example usage of this command- Returns:
- One or more example usages
-
setAliases
Sets the list of aliases to request on registration for this command. This is not effective outside of defining aliases in thePluginDescriptionFile.getCommands()(under the `aliases' node) is equivalent to this method.- Parameters:
aliases- aliases to register to this command- Returns:
- this command object, for chaining
-
setDescription
Sets a brief description of this command. Defining a description in thePluginDescriptionFile.getCommands()(under the `description' node) is equivalent to this method.- Parameters:
description- new command description- Returns:
- this command object, for chaining
-
setPermissionMessage
Sets the message sent when a permission check fails- Parameters:
permissionMessage- new permission message, null to indicate default message, or an empty string to indicate no message- Returns:
- this command object, for chaining
-
setUsage
Sets the example usage of this command- Parameters:
usage- new example usage- Returns:
- this command object, for chaining
-
broadcastCommandMessage
-
broadcastCommandMessage
public static void broadcastCommandMessage(CommandSender source, java.lang.String message, boolean sendToSource) -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-