接口 CommandMap
- 所有已知实现类:
SimpleCommandMap
public interface CommandMap
-
方法概要
修饰符和类型方法说明void
清除所有已注册命令.boolean
dispatch
(@NotNull CommandSender sender, @NotNull String cmdLine) 查找请求的命令并执行,如果找到了。getCommand
(@NotNull String name) 获取指定名称的注册命令.boolean
注册一个命令.如果成功返回true,如果名称已被占据、fallback已被使用则返回false.boolean
注册一个命令.如果成功返回true,如果名称已被占据、fallback已被使用则返回false.void
注册所有属于某个插件的命令.tabComplete
(@NotNull CommandSender sender, @NotNull String cmdLine) 查找请求的命令并执行适当的tab补全器,如果找到了.tabComplete
(@NotNull CommandSender sender, @NotNull String cmdLine, @Nullable Location location) Looks for the requested command and executes an appropriate tab-completer if found.
-
方法详细资料
-
registerAll
注册所有属于某个插件的命令.调用者可使用:-
- 用 command.getName() 确定这个别名已注册给这个命令
- 用 command.getAliases() 确定这个别名在哪注册
Caller can use:-
- command.getName() to determine the label registered for this command
- command.getAliases() to determine the aliases which where registered
- 参数:
fallbackPrefix
- 预置在命令之前的前缀(即fallbackPrefix:命令,用英文冒号分开,前面的部分就是fallbackPrefix),以使命令独一无二commands
- 要注册的命令的列表
-
register
boolean register(@NotNull @NotNull String label, @NotNull @NotNull String fallbackPrefix, @NotNull @NotNull Command command) 注册一个命令.如果成功返回true,如果名称已被占据、fallback已被使用则返回false.调用者可使用:-
- 用 command.getName() 确定这个别名已注册给这个命令
- 用 command.getAliases() 确定这个别名在哪注册
原文:Registers a command. Returns true on success; false if name is already taken and fallback had to be used.
Caller can use:-
- command.getName() to determine the label registered for this command
- command.getAliases() to determine the aliases which where registered
- 参数:
label
- 命令的别名,即“prefix”,没有“/”fallbackPrefix
- 预置在命令之前的前缀(即fallbackPrefix:命令,用英文冒号分开,前面的部分就是fallbackPrefix),以使命令独一无二command
- 要注册的命令- 返回:
- 如果用传递的label注册了命令则为true,如果指定的fallbackPrefix已被使用一次或多次则为false
-
register
注册一个命令.如果成功返回true,如果名称已被占据、fallback已被使用则返回false.调用者可使用:-
- 用 command.getName() 确定这个别名已注册给这个命令
- 用 command.getAliases() 确定这个别名在哪注册
原文:Registers a command. Returns true on success; false if name is already taken and fallback had to be used.
Caller can use:-
- command.getName() to determine the label registered for this command
- command.getAliases() to determine the aliases which where registered
- 参数:
fallbackPrefix
- 预置在命令之前的前缀(即fallbackPrefix:命令,用英文冒号分开,前面的部分就是fallbackPrefix),以使命令独一无二command
- 要注册的命令,从此命令的别名确定- 返回:
- 如果用传递的label注册了命令则为true,如果指定的fallbackPrefix已被使用一次或多次则为false
-
dispatch
boolean dispatch(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String cmdLine) throws CommandException 查找请求的命令并执行,如果找到了。原文:Looks for the requested command and executes it if found.
- 参数:
sender
- 命令发送者cmdLine
- 命令 + 参数. 梨子: "/test abc 123"- 返回:
- 如果没有目标找到返回false,true反之
- 抛出:
CommandException
- 当给定命令的执行器执行命令时有异常未处理原文则抛出
-
clearCommands
void clearCommands()清除所有已注册命令.原文:Clears all registered commands.
-
getCommand
获取指定名称的注册命令.原文:Gets the command registered to the specified name
- 参数:
name
- 要检索的命令名称- 返回:
- 指定名称的Cimmand,如果不存在指定名称/别名的命令则返回false
-
tabComplete
@Nullable @Nullable List<String> tabComplete(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String cmdLine) throws IllegalArgumentException 查找请求的命令并执行适当的tab补全器,如果找到了.Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.
- 参数:
sender
- 命令发送者cmdLine
- 整个被tab补全的命令字符串,不包括最前的“/”- 返回:
- 可能的tab补全项的列表.这个列表可能是不变的.如果命令发送者没有匹配命令的权限将会为null
- 抛出:
CommandException
- 当给定命令的tab补全器处理时有异常未处理则抛出IllegalArgumentException
- 如果sender或cmdLine其一为null
-
tabComplete
@Nullable @Nullable List<String> tabComplete(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String cmdLine, @Nullable @Nullable Location location) throws IllegalArgumentException Looks for the requested command and executes an appropriate tab-completer if found. This method will also tab-complete partial commands.- 参数:
sender
- The command's sender.cmdLine
- The entire command string to tab-complete, excluding initial slash.location
- The position looked at by the sender, or null if none- 返回:
- a list of possible tab-completions. This list may be immutable. Will be null if no matching command of which sender has permission.
- 抛出:
CommandException
- Thrown when the tab-completer for the given command fails with an unhandled exceptionIllegalArgumentException
- if either sender or cmdLine are null
-