Package cn.nukkit.command.tree
Class ParamTree
java.lang.Object
cn.nukkit.command.tree.ParamTree
-
Constructor Summary
ConstructorDescription从给定的命令中初始化命令节点树,其中每个参数类型CommandParamType
会对应一个默认的参数节点,或者使用
CommandParameter.newType(String, CommandParamType, IParamNode)
CommandParameter.newEnum(String, boolean, CommandEnum, IParamNode)
初始化指定的命令节点。 应该在命令构造函数中commandParameters初始化完毕后调用Command::enableParamTree(),形如 -
Method Summary
Modifier and TypeMethodDescriptionString[]
getArgs()
getRoot()
matchAndParse
(CommandSender sender, String commandLabel, String[] args) 从给定输入参数匹配该命令节点树对应命令的命令重载,并且解析对应参数。
返回值是一个Map.Entry
,它是成功匹配的命令重载,对应Command.getCommandParameters()
commandParameters}。
其Key对应commandParameters中的Key,值是一个ParamList
其中每个节点与commandParameters的Value一一对应,并且是解析之后的结果。
-
Constructor Details
-
ParamTree
从给定的命令中初始化命令节点树,其中每个参数类型CommandParamType
会对应一个默认的参数节点,或者使用
CommandParameter.newType(String, CommandParamType, IParamNode)
CommandParameter.newEnum(String, boolean, CommandEnum, IParamNode)
初始化指定的命令节点。 应该在命令构造函数中commandParameters初始化完毕后调用Command::enableParamTree(),形如
public TestCommand(String name) { super(name, description, usage, aliases); this.setPermission("nukkit.command.test"); this.commandParameters.clear(); this.commandParameters.put("pos", new CommandParameter[]{ CommandParameter.newType("destination", CommandParamType.POSITION) }); this.enableParamTree(); }
- Parameters:
command
- the command
-
ParamTree
-
-
Method Details
-
matchAndParse
@Nullable public Map.Entry<String,ParamList> matchAndParse(CommandSender sender, String commandLabel, String[] args) 从给定输入参数匹配该命令节点树对应命令的命令重载,并且解析对应参数。
返回值是一个Map.Entry
,它是成功匹配的命令重载,对应Command.getCommandParameters()
commandParameters}。
其Key对应commandParameters中的Key,值是一个ParamList
其中每个节点与commandParameters的Value一一对应,并且是解析之后的结果。- Parameters:
sender
- 命令发送者args
- 命令的参数
-
getSender
-
getArgs
-
getCommand
-
getRoot
-