Package org.bukkit.command
Class Command
java.lang.Object
org.bukkit.command.Command
- Direct Known Subclasses:
BukkitCommand
,FormattedCommandAlias
,MultipleCommandAlias
,PluginCommand
Represents a Command, which executes various tasks upon user input
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
broadcastCommandMessage
(@NotNull CommandSender source, @NotNull String message) static void
broadcastCommandMessage
(@NotNull CommandSender source, @NotNull String message, boolean sendToSource) static void
broadcastCommandMessage
(@NotNull CommandSender source, @NotNull Component message) static void
broadcastCommandMessage
(@NotNull CommandSender source, @NotNull Component message, boolean sendToSource) boolean
abstract boolean
Executes the command, returning its successReturns a list of active aliases of this commandGets a brief description of this commandgetLabel()
Returns the label for this commandgetName()
Returns the name of this commandGets the permission required by users to be able to perform this commandDeprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server.Deprecated, for removal: This API element is subject to removal in a future version.Timings will be removed in the futuregetUsage()
Gets an example usage of this commandboolean
Returns the current registered state of this commandDeprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server.void
permissionMessage
(@Nullable Component permissionMessage) Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server.boolean
register
(@NotNull CommandMap commandMap) Registers this command to a CommandMap.setAliases
(@NotNull List<String> aliases) Sets the list of aliases to request on registration for this command.setDescription
(@NotNull String description) Sets a brief description of this command.boolean
Sets the label of this command.boolean
Sets the name of this command.void
setPermission
(@Nullable String permission) Sets the permission required by users to be able to perform this commandsetPermissionMessage
(@Nullable String permissionMessage) Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server.Sets the example usage of this commandtabComplete
(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) Executed on tab completion for this command, returning a list of options the player can tab through.tabComplete
(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args, @Nullable Location location) Executed on tab completion for this command, returning a list of options the player can tab through.boolean
testPermission
(@NotNull CommandSender target) Tests the givenCommandSender
to see if they can perform this command.boolean
Tests the givenCommandSender
to see if they can perform this command.toString()
boolean
unregister
(@NotNull CommandMap commandMap) Unregisters this command from the passed CommandMap applying any outstanding changes
-
Field Details
-
description
-
usageMessage
-
timings
Deprecated, for removal: This API element is subject to removal in a future version.Timings will be removed in the future
-
-
Constructor Details
-
Command
-
Command
-
-
Method Details
-
getTimingName
Deprecated, for removal: This API element is subject to removal in a future version.Timings will be removed in the future -
execute
public abstract boolean execute(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String commandLabel, @NotNull @NotNull 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
@NotNull public @NotNull List<String> tabComplete(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String alias, @NotNull @NotNull String[] args) throws IllegalArgumentException Executed 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:
IllegalArgumentException
- if sender, alias, or args is null
-
tabComplete
@NotNull public @NotNull List<String> tabComplete(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String alias, @NotNull @NotNull String[] args, @Nullable @Nullable Location location) throws IllegalArgumentException Executed 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 ' 'location
- The position looked at by the sender, or null if none- Returns:
- a list of tab-completions for the specified arguments. This will never be null. List may be immutable.
- Throws:
IllegalArgumentException
- if sender, alias, or args is null
-
getName
Returns the name of this command- Returns:
- Name of this command
-
setName
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
Gets the permission required by users to be able to perform this command- Returns:
- Permission name, or null if none
-
setPermission
Sets the permission required by users to be able to perform this command- Parameters:
permission
- Permission name or null
-
testPermission
Tests the givenCommandSender
to 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 givenCommandSender
to 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
Returns the label for this command- Returns:
- Label of this command
-
setLabel
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 successful (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
Returns a list of active aliases of this command- Returns:
- List of aliases
-
getPermissionMessage
Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server. This message will only ever be shown to consoles or when this command is executed withBukkit.dispatchCommand(CommandSender, String)
.Returns a message to be displayed on a failed permission check for this command- Returns:
- Permission check failed message
-
getDescription
Gets a brief description of this command- Returns:
- Description of this command
-
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
@Deprecated @NotNull public @NotNull Command setPermissionMessage(@Nullable @Nullable String permissionMessage) Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server. This message will only ever be shown to consoles or when this command is executed withBukkit.dispatchCommand(CommandSender, String)
.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
-
permissionMessage
Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server. This message will only ever be shown to consoles or when this command is executed withBukkit.dispatchCommand(CommandSender, String)
.Gets the permission message.- Returns:
- the permission message
-
permissionMessage
Deprecated.permission messages have not worked for player-executed commands since 1.13 as clients without permission to execute a command are unaware of its existence and therefore will not send an unknown command execution to the server. This message will only ever be shown to consoles or when this command is executed withBukkit.dispatchCommand(CommandSender, String)
.Sets the permission message.- Parameters:
permissionMessage
- the permission message
-
broadcastCommandMessage
-
broadcastCommandMessage
-
broadcastCommandMessage
public static void broadcastCommandMessage(@NotNull @NotNull CommandSender source, @NotNull Component message) -
broadcastCommandMessage
public static void broadcastCommandMessage(@NotNull @NotNull CommandSender source, @NotNull Component message, boolean sendToSource) -
toString
-
canBeOverriden
-