public abstract class Command
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.String |
description |
protected java.lang.String |
usageMessage |
限定符 | 构造器和说明 |
---|---|
protected |
Command(java.lang.String name) |
protected |
Command(java.lang.String name,
java.lang.String description,
java.lang.String usageMessage,
java.util.List<java.lang.String> aliases) |
限定符和类型 | 方法和说明 |
---|---|
static void |
broadcastCommandMessage(CommandSender source,
java.lang.String message) |
static void |
broadcastCommandMessage(CommandSender source,
java.lang.String message,
boolean sendToSource) |
abstract boolean |
execute(CommandSender sender,
java.lang.String commandLabel,
java.lang.String[] args)
执行命令.
|
java.util.List<java.lang.String> |
getAliases()
返回这个命令激活的别名的列表.
|
java.lang.String |
getDescription()
获取这个命令的简介.
|
java.lang.String |
getLabel()
返回这个命令的别名.
|
java.lang.String |
getName()
返回这个命令的名称.
|
java.lang.String |
getPermission()
获取用户执行此命令所需的权限。
|
java.lang.String |
getPermissionMessage()
返回当没有这个命令的权限时显示的消息.
|
java.lang.String |
getUsage()
获取这个命令的用法示例.
|
boolean |
isRegistered()
返回这个命令的注册状态.
|
boolean |
register(CommandMap commandMap)
把这个命令注册给一个CommandMap.
|
Command |
setAliases(java.util.List<java.lang.String> aliases)
设置这个命令的别名.
|
Command |
setDescription(java.lang.String description)
设置此命令的简介.在
PluginDescriptionFile.getCommands() 的 description 节点上定义介绍与本方法是等效的. |
boolean |
setLabel(java.lang.String name)
设置这个命令的别名.
|
boolean |
setName(java.lang.String name)
设置这个命令的名称.
|
void |
setPermission(java.lang.String permission)
设置用户执行此命令所需的权限.
|
Command |
setPermissionMessage(java.lang.String permissionMessage)
设置当没有这个命令的权限时发送的消息.
|
Command |
setUsage(java.lang.String usage)
设置这个命令的用法示例.
|
java.util.List<java.lang.String> |
tabComplete(CommandSender sender,
java.lang.String alias,
java.lang.String[] args)
执行此命令的tab补全时返回选项列表.
|
java.util.List<java.lang.String> |
tabComplete(CommandSender sender,
java.lang.String alias,
java.lang.String[] args,
Location location)
执行此命令的tab补全时返回选项列表.
|
boolean |
testPermission(CommandSender target)
测试给定的
CommandSender 能否执行此命令. |
boolean |
testPermissionSilent(CommandSender target)
测试给定的
CommandSender 能否执行这个命令. |
java.lang.String |
toString() |
boolean |
unregister(CommandMap commandMap)
从传递给此方法的CommandMap参数里注销这个命令,应用所有未完成的更改.
|
protected java.lang.String description
protected java.lang.String usageMessage
protected Command(java.lang.String name)
protected Command(java.lang.String name, java.lang.String description, java.lang.String usageMessage, java.util.List<java.lang.String> aliases)
public abstract boolean execute(CommandSender sender, java.lang.String commandLabel, java.lang.String[] args)
原文:Executes the command, returning its success
sender
- 执行此命令的对象commandLabel
- 执行命令所用的别名args
- 传递给此命令的所有参数,用' '分割public java.util.List<java.lang.String> tabComplete(CommandSender sender, java.lang.String alias, java.lang.String[] args) throws java.lang.IllegalArgumentException
原文:Executed on tab completion for this command, returning a list of options the player can tab through.
sender
- 执行此命令的对象alias
- 被使用的别名args
- 传递给此命令的所有参数,用' '分割java.lang.IllegalArgumentException
- 如果sender, alias, args任意一参数为nullpublic java.util.List<java.lang.String> tabComplete(CommandSender sender, java.lang.String alias, java.lang.String[] args, Location location) throws java.lang.IllegalArgumentException
原文:Executed on tab completion for this command, returning a list of options the player can tab through.
sender
- 执行此命令的对象alias
- 使用的别名args
- 传递给此命令的所有参数,用' '分割location
- The position looked at by the sender, or null if none (不懂,且依源码看,该参数无任何作用,可以传null)java.lang.IllegalArgumentException
- 如果参数sender, alias或args为nullpublic java.lang.String getName()
原文:Returns the name of this command
public boolean setName(java.lang.String name)
可能只能在注册之前使用本方法.
如果新的名称被设置将返回true,命令已被注册返回false.
原文: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.
name
- 新的命令名称public java.lang.String getPermission()
原文:Gets the permission required by users to be able to perform this command
public void setPermission(java.lang.String permission)
原文:Sets the permission required by users to be able to perform this command
permission
- 权限名,或者为nullpublic boolean testPermission(CommandSender target)
CommandSender
能否执行此命令.
如果他们没有权限,他们会被告知他们不能这样做.
原文: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.
target
- 要测试的用户public boolean testPermissionSilent(CommandSender target)
CommandSender
能否执行这个命令.
不会给sender发送错误消息.
原文:Tests the given CommandSender
to see if they can perform this
command.
No error is sent to the sender.
target
- 要测试的用户public java.lang.String getLabel()
原文:Returns the label for this command
public boolean setLabel(java.lang.String name)
可能只能在注册之前使用本方法.
如果新的名称被设置将返回true,命令已被注册返回false.
原文: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.
name
- 新的命令别名public boolean register(CommandMap commandMap)
只允许改变注册的CommandMap.
原文:Registers this command to a CommandMap. Once called it only allows changes the registered CommandMap
commandMap
- 注册此命令给这个CommandMappublic boolean unregister(CommandMap commandMap)
原文:Unregisters this command from the passed CommandMap applying any outstanding changes
commandMap
- 要注销的CommandMappublic boolean isRegistered()
原文:Returns the current registered state of this command
public java.util.List<java.lang.String> getAliases()
原文:Returns a list of active aliases of this command
public java.lang.String getPermissionMessage()
原文:Returns a message to be displayed on a failed permission check for this command
public java.lang.String getDescription()
原文:Gets a brief description of this command
public java.lang.String getUsage()
原文:Gets an example usage of this command
public Command setAliases(java.util.List<java.lang.String> aliases)
PluginDescriptionFile.getCommands()
的 aliases
节点定义(就是没在plugin.yml定义)将没有效果,与此等效.
译注:不懂原文第二段在说什么,根据源代码,aliases一定会赋值给这个类的aliases成员变量,如果这个命令还没有注册,aliases同样会赋值给这个类的activeAliases成员变量.第二段的意思整理为如果没在plugin.yml定义命令别名这个方法不会有效果.
原文: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.
aliases
- 要为这个命令注册的别名public Command setDescription(java.lang.String description)
PluginDescriptionFile.getCommands()
的 description
节点上定义介绍与本方法是等效的.
原文:Sets a brief description of this command. Defining a description in the
PluginDescriptionFile.getCommands()
(under the
`description
' node) is equivalent to this method.
description
- 新的命令介绍public Command setPermissionMessage(java.lang.String permissionMessage)
原文:Sets the message sent when a permission check fails
permissionMessage
- 新的无权提示消息,null表示默认消息,空字符串表示没有提示消息public Command setUsage(java.lang.String usage)
原文:Sets the example usage of this command
usage
- 新的用法示例public static void broadcastCommandMessage(CommandSender source, java.lang.String message)
public static void broadcastCommandMessage(CommandSender source, java.lang.String message, boolean sendToSource)
public java.lang.String toString()
toString
在类中 java.lang.Object