org.bukkit.command
Class Command

java.lang.Object
  extended by org.bukkit.command.Command
Direct Known Subclasses:
BukkitCommand, FormattedCommandAlias, MultipleCommandAlias, PluginCommand, VanillaCommand

public abstract class Command
extends Object

Represents a Command, which executes various tasks upon user input


Field Summary
protected  String description
           
protected  String usageMessage
           
 
Constructor Summary
protected Command(String name)
           
protected Command(String name, String description, String usageMessage, List<String> aliases)
           
 
Method Summary
static void broadcastCommandMessage(CommandSender source, String message)
           
static void broadcastCommandMessage(CommandSender source, String message, boolean sendToSource)
           
abstract  boolean execute(CommandSender sender, String commandLabel, String[] args)
          Executes the command, returning its success
 List<String> getAliases()
          Returns a list of active aliases of this command
 String getDescription()
          Gets a brief description of this command
 String getLabel()
          Returns the current label for this command
 String getName()
          Returns the name of this command
 String getPermission()
          Gets the permission required by users to be able to perform this command
 String getPermissionMessage()
          Returns a message to be displayed on a failed permission check for this command
 String getUsage()
          Gets an example usage of this command
 boolean isRegistered()
          Returns the current registered state of this command
 boolean register(CommandMap commandMap)
          Registers this command to a CommandMap.
 Command setAliases(List<String> aliases)
          Sets the list of aliases to request on registration for this command.
 Command setDescription(String description)
          Sets a brief description of this command.
 boolean setLabel(String name)
          Sets the label of this command.
 void setPermission(String permission)
          Sets the permission required by users to be able to perform this command
 Command setPermissionMessage(String permissionMessage)
          Sets the message sent when a permission check fails
 Command setUsage(String usage)
          Sets the example usage of this command
 List<String> tabComplete(CommandSender sender, String[] args)
          Deprecated. This method is not supported and returns null
 List<String> tabComplete(CommandSender sender, String alias, String[] args)
          Executed on tab completion for this command, returning a list of options the player can tab through.
 boolean testPermission(CommandSender target)
          Tests the given CommandSender to see if they can perform this command.
 boolean testPermissionSilent(CommandSender target)
          Tests the given CommandSender to see if they can perform this command.
 String toString()
           
 boolean unregister(CommandMap commandMap)
          Unregisters this command from the passed CommandMap applying any outstanding changes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

description

protected String description

usageMessage

protected String usageMessage
Constructor Detail

Command

protected Command(String name)

Command

protected Command(String name,
                  String description,
                  String usageMessage,
                  List<String> aliases)
Method Detail

execute

public abstract boolean execute(CommandSender sender,
                                String commandLabel,
                                String[] args)
Executes the command, returning its success

Parameters:
sender - Source object which is executing this command
commandLabel - The alias of the command used
args - All arguments passed to the command, split via ' '
Returns:
true if the command was successful, otherwise false

tabComplete

@Deprecated
public List<String> tabComplete(CommandSender sender,
                                           String[] args)
Deprecated. This method is not supported and returns null


tabComplete

public List<String> tabComplete(CommandSender sender,
                                String alias,
                                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 command
alias - the alias being used
args - 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

getName

public String getName()
Returns the name of this command

Returns:
Name of this command

getPermission

public 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(String permission)
Sets the permission required by users to be able to perform this command

Parameters:
permission - Permission name or null

testPermission

public boolean testPermission(CommandSender target)
Tests the given CommandSender 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

public boolean testPermissionSilent(CommandSender target)
Tests the given CommandSender 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

public String getLabel()
Returns the current label for this command

Returns:
Label of this command or null if not registered

setLabel

public boolean setLabel(String name)
Sets the label of this command.

If the command is currently registered the label change will only take effect after its been re-registered e.g. after a /reload

Parameters:
name - The command's name
Returns:
returns true if the name change happened instantly or false if it was scheduled for re-registration

register

public boolean register(CommandMap commandMap)
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

public boolean unregister(CommandMap commandMap)
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 List<String> getAliases()
Returns a list of active aliases of this command

Returns:
List of aliases

getPermissionMessage

public String getPermissionMessage()
Returns a message to be displayed on a failed permission check for this command

Returns:
Permission check failed message

getDescription

public String getDescription()
Gets a brief description of this command

Returns:
Description of this command

getUsage

public String getUsage()
Gets an example usage of this command

Returns:
One or more example usages

setAliases

public Command setAliases(List<String> aliases)
Sets the list of aliases to request on registration for this command. This is not effective outside of defining aliases in the PluginDescriptionFile.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

public Command setDescription(String description)
Sets a brief description of this command. Defining a description in the PluginDescriptionFile.getCommands() (under the `description' node) is equivalent to this method.

Parameters:
description - new command description
Returns:
this command object, for chaining

setPermissionMessage

public Command setPermissionMessage(String permissionMessage)
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

public Command setUsage(String usage)
Sets the example usage of this command

Parameters:
usage - new example usage
Returns:
this command object, for chaining

broadcastCommandMessage

public static void broadcastCommandMessage(CommandSender source,
                                           String message)

broadcastCommandMessage

public static void broadcastCommandMessage(CommandSender source,
                                           String message,
                                           boolean sendToSource)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2014. All rights reserved.