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
CommandRegistrars and Command.Raw.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceACommandTreeNodethat controls whether multiple entries can be parsed.static interfaceCommandTreeNode.Argument<T extends CommandTreeNode<T>>ACommandTreeNodethat can be used as a child.static interfaceACommandTreeNodewith no known properties to set.static interfaceACommandTreeNodethat augments entity based parameters.static interfaceFactory to create a root node.static interfaceCommandTreeNode.Range<S extends Number>ACommandTreeNodethat allows for a min-max range to be set.static interfaceACommandTreeNodethat acts as the root of a command.static interfaceACommandTreeNodethat allows for the setting of how a string based parser will behave. -
Method Summary
Modifier and TypeMethodDescriptionchild(String key, CommandTreeNode.Argument<? extends @NonNull Object> 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 providedCommandCompletionProviderfor generating completions on the client.default Tcompletions(@Nullable DefaultedRegistryReference<CommandCompletionProvider> completionProvider) Declares that the node should use the providedCommandCompletionProviderfor 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 thisCommandTreeNoderepresents 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<? extends @NonNull Object> 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
childNodenode.- 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
childNodenode.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.Argumentto 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
childNodenode.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.Argumentto 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 thisCommandTreeNoderepresents 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 providedCommandCompletionProviderfor 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 providedCommandCompletionProviderfor 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.
-