Package cn.nukkit.command.tree.node
Class ParamNode<T>
java.lang.Object
cn.nukkit.command.tree.node.ParamNode<T>
- All Implemented Interfaces:
IParamNode<T>
- Direct Known Subclasses:
BlockNode
,BooleanNode
,CommandNode
,DoubleNode
,EnumNode
,FloatNode
,IntNode
,IPlayersNode
,ItemNode
,MessageStringNode
,PositionNode
,RawTextNode
,RelativeNumberNode
,RemainStringNode
,StringNode
,TargetNode
,WildcardIntNode
,XpLevelNode
@PowerNukkitXOnly
@Since("1.19.60-r1")
public abstract class ParamNode<T>
extends Object
implements IParamNode<T>
一个通用的命令节点抽象类实现,插件想实现自己的命令参数节点应该继承这个类实现。
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<E> E
get()
获取该节点所属ParamList
boolean
该节点是否已经得到结果
该方法返回值为false时,将会一直重复对该节点执行填充IParamNode.fill(String)
直到该方法返回true或者命令输入参数用完init
(ParamList parent, String name, boolean optional, CommandParamType type, CommandEnum enumData, String postFix) 这个方法用于初始化ParamList
和一些能从CommandParameter
得到的参数,例如optional enumData等,插件不需要调用boolean
该命令节点是否为可选值,可选值不一定需要被填充IParamNode.fill(String)
void
reset()
将节点重置回初始化状态,以待下次填充IParamNode.fill(String)
-
Field Details
-
value
-
optional
protected boolean optional -
parent
-
-
Constructor Details
-
ParamNode
public ParamNode()
-
-
Method Details
-
get
public <E> E get()Description copied from interface:IParamNode
- Specified by:
get
in interfaceIParamNode<T>
-
hasResult
public boolean hasResult()Description copied from interface:IParamNode
该节点是否已经得到结果
该方法返回值为false时,将会一直重复对该节点执行填充IParamNode.fill(String)
直到该方法返回true或者命令输入参数用完- Specified by:
hasResult
in interfaceIParamNode<T>
-
reset
public void reset()Description copied from interface:IParamNode
将节点重置回初始化状态,以待下次填充IParamNode.fill(String)
- Specified by:
reset
in interfaceIParamNode<T>
-
isOptional
public boolean isOptional()Description copied from interface:IParamNode
该命令节点是否为可选值,可选值不一定需要被填充IParamNode.fill(String)
- Specified by:
isOptional
in interfaceIParamNode<T>
-
getParent
Description copied from interface:IParamNode
获取该节点所属ParamList
- Specified by:
getParent
in interfaceIParamNode<T>
- Returns:
- the parent
-
init
public IParamNode<T> init(ParamList parent, String name, boolean optional, CommandParamType type, CommandEnum enumData, String postFix) Description copied from interface:IParamNode
这个方法用于初始化ParamList
和一些能从CommandParameter
得到的参数,例如optional enumData等,插件不需要调用- Specified by:
init
in interfaceIParamNode<T>
- Parameters:
parent
- the parentname
- the nameoptional
- the optionaltype
- the typeenumData
- the enum datapostFix
- the post fix- Returns:
- the param node
-