Interface CommandTreeNode<T extends CommandTreeNode<T>>
- All Known Subinterfaces:
CommandTreeNode.Amount
,CommandTreeNode.Argument<T>
,CommandTreeNode.Basic
,CommandTreeNode.EntitySelection
,CommandTreeNode.Range<S>
,CommandTreeNode.Root
,CommandTreeNode.StringParser
CommandRegistrar
s and Command.Raw
.-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
ACommandTreeNode
that controls whether multiple entries can be parsed.static interface
CommandTreeNode.Argument<T extends CommandTreeNode<T>>
ACommandTreeNode
that can be used as a child.static interface
ACommandTreeNode
with no known properties to set.static interface
ACommandTreeNode
that augments entity based parameters.static interface
Factory to create a root node.static interface
CommandTreeNode.Range<S extends Number>
ACommandTreeNode
that allows for a min-max range to be set.static interface
ACommandTreeNode
that acts as the root of a command.static interface
ACommandTreeNode
that allows for the setting of how a string based parser will behave. -
Method Summary
Modifier and TypeMethodDescriptionchild
(String key, CommandTreeNode.Argument<@NonNull ?> childNode) Creates a child of this node with the given key that accepts a non-literal argument.default <C extends CommandTreeNode.Argument<C>>
Tchild
(String key, CommandTreeNodeType<C> type, Consumer<C> processor) Creates a child of this node with the given key that accepts a non-literal argument.default <C extends CommandTreeNode.Argument<C>>
Tchild
(String key, DefaultedRegistryReference<CommandTreeNodeType<C>> type, Consumer<C> processor) Creates a child of this node with the given key that accepts a non-literal argument.completions
(@Nullable CommandCompletionProvider completionProvider) Declares that the node should use the providedCommandCompletionProvider
for generating completions on the client.default T
completions
(@Nullable DefaultedRegistryReference<CommandCompletionProvider> completionProvider) Declares that the node should use the providedCommandCompletionProvider
for generating completions on the client.Declares that this node uses custom completions and, as such, tab completions should query the server.Declares that the node thisCommandTreeNode
represents is executable, meaning that a command string that stops here is considered complete.static CommandTreeNode<CommandTreeNode.Basic>
literal()
Creates a node that uses its key as a literal.redirect
(CommandTreeNode<@NonNull ?> redirectTarget) Declares that this element will redirect processing to the given node in this tree after this node has been processed.requires
(@Nullable Predicate<CommandCause> requirement) Declares that this element can only be parsed by those with the given requirement.static CommandTreeNode<CommandTreeNode.Root>
root()
Creates a root node for the tree.
-
Method Details
-
root
Creates a root node for the tree.The return value is in an 'intermediate' state, where it must have additional information supplied to become a useful part of the command tree. The node should be at least one of
executable()
ortaking an argument
, and may have other attributes applied.- Returns:
- The root node.
-
literal
Creates a node that uses its key as a literal.The return value is in an 'intermediate' state, where it must have additional information supplied to become a useful part of the command tree. The node should be at least one of
executable()
ortaking an argument
, and may have other attributes applied.- Returns:
- The literal.
-
child
Creates a child of this node with the given key that accepts a non-literal argument.The builder returned by this method is the same builder as that invoked on. The child builder is provided in the
childNode
node.- Parameters:
key
- The name of the child nodechildNode
- The child node- Returns:
- This, for chaining.
- See Also:
-
child
default <C extends CommandTreeNode.Argument<C>> T child(String key, DefaultedRegistryReference<CommandTreeNodeType<C>> type, Consumer<C> processor) Creates a child of this node with the given key that accepts a non-literal argument.The builder returned by this method is the same builder as that invoked on. The child builder is provided in the
childNode
node.This variant will create a new node based on the provided key and allow for processing before adding the node as a child
- Type Parameters:
C
- The type ofCommandTreeNode.Argument
to be created- Parameters:
key
- The name of the child nodetype
- the type of argument to use in the child nodeprocessor
- A callback that will receive the created child node- Returns:
- This, for chaining.
- See Also:
-
child
default <C extends CommandTreeNode.Argument<C>> T child(String key, CommandTreeNodeType<C> type, Consumer<C> processor) Creates a child of this node with the given key that accepts a non-literal argument.The builder returned by this method is the same builder as that invoked on. The child builder is provided in the
childNode
node.This variant will create a new node based on the provided key and allow for processing before adding the node as a child
- Type Parameters:
C
- The type ofCommandTreeNode.Argument
to be created- Parameters:
key
- The name of the child nodetype
- the type of argument to use in the child nodeprocessor
- A callback that will receive the created child node- Returns:
- This, for chaining.
- See Also:
-
redirect
Declares that this element will redirect processing to the given node in this tree after this node has been processed.The node that is provided here will not be executed and will not be checked to see if its requirements are met. This node will act as if its has the target node's children.
- Parameters:
redirectTarget
- The node to redirect to- Returns:
- This, for chaining
-
requires
Declares that this element can only be parsed by those with the given requirement.- Parameters:
requirement
- The requirement- Returns:
- This, for chaining
-
executable
T executable()Declares that the node thisCommandTreeNode
represents is executable, meaning that a command string that stops here is considered complete.- Returns:
- This, for chaining
-
completions
default T completions(@Nullable DefaultedRegistryReference<CommandCompletionProvider> completionProvider) Declares that the node should use the providedCommandCompletionProvider
for generating completions on the client.This overrides
customCompletions()
.- Parameters:
completionProvider
- The provider this node should use- Returns:
- This, for chaining
-
completions
Declares that the node should use the providedCommandCompletionProvider
for generating completions on the client.This overrides
customCompletions()
.- Parameters:
completionProvider
- The provider this node should use- Returns:
- This, for chaining
-
customCompletions
T customCompletions()Declares that this node uses custom completions and, as such, tab completions should query the server.This overrides
completions(CommandCompletionProvider)
.- Returns:
- This, for chaining.
-