Skip to content

Class ArgumentBuilder<TBuilder, TNode>

Namespace: Void.Minecraft.Commands.Brigadier.Builder
Assembly: Void.Minecraft.dll

public abstract record ArgumentBuilder<TBuilder, TNode> : ArgumentBuilder, IEquatable<ArgumentBuilder>, IArgumentBuilder<TNode>, IEquatable<ArgumentBuilder<TBuilder, TNode>> where TBuilder : ArgumentBuilder<TBuilder, TNode> where TNode : CommandNode

Type Parameters

TBuilder

TNode

Inheritance

objectArgumentBuilderArgumentBuilder<TBuilder, TNode>

Implements

IEquatable<ArgumentBuilder>, IArgumentBuilder<TNode>, IEquatable<ArgumentBuilder<TBuilder, TNode>>

Inherited Members

ArgumentBuilder._arguments, ArgumentBuilder.Executor, ArgumentBuilder.RedirectModifier, ArgumentBuilder.RedirectTarget, ArgumentBuilder.IsForks, ArgumentBuilder.Requirement, ArgumentBuilder.Arguments, ArgumentBuilder.Build(), ArgumentBuilder.Executes(CommandExecutor?), ArgumentBuilder.Executes(CommandExecutorSync?), ArgumentBuilder.Requires(CommandRequirement?), ArgumentBuilder.Redirect(CommandNode), ArgumentBuilder.Redirect(CommandNode, SingleRedirectModifier), ArgumentBuilder.Fork(CommandNode, RedirectModifier), ArgumentBuilder.Forward(CommandNode?, RedirectModifier?, bool), ArgumentBuilder.Suggests(SuggestionProvider?), ArgumentBuilder.AddChild(CommandNode), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

Methods

Build()

public override abstract TNode Build()

Returns

TNode

Executes(CommandExecutor?)

public TBuilder Executes(CommandExecutor? command)

Parameters

command CommandExecutor?

Returns

TBuilder

Executes(CommandExecutorSync?)

public TBuilder Executes(CommandExecutorSync? command)

Parameters

command CommandExecutorSync?

Returns

TBuilder

Fork(CommandNode, RedirectModifier)

public TBuilder Fork(CommandNode target, RedirectModifier modifier)

Parameters

target CommandNode

modifier RedirectModifier

Returns

TBuilder

Forward(CommandNode?, RedirectModifier?, bool)

public TBuilder Forward(CommandNode? target, RedirectModifier? modifier, bool fork)

Parameters

target CommandNode?

modifier RedirectModifier?

fork bool

Returns

TBuilder

Redirect(CommandNode)

public TBuilder Redirect(CommandNode target)

Parameters

target CommandNode

Returns

TBuilder

Redirect(CommandNode, SingleRedirectModifier)

Redirects execution to target and uses modifier to map the redirected context to a single command source.

public TBuilder Redirect(CommandNode target, SingleRedirectModifier modifier)

Parameters

target CommandNode

The command node to redirect to.

modifier SingleRedirectModifier

The callback used to produce the redirected command source for each execution context.

Returns

TBuilder

The current builder instance, typed as TBuilder.

Exceptions

InvalidOperationException

Thrown when the builder already contains child nodes and cannot be redirected.

Requires(CommandRequirement?)

Sets the predicate that determines whether a command source can use the node produced by this builder.

public TBuilder Requires(CommandRequirement? requirement)

Parameters

requirement CommandRequirement?

The asynchronous requirement delegate to store on the built command node, or null to allow every source.

Returns

TBuilder

The current builder instance, typed as TBuilder.

Suggests(SuggestionProvider?)

public virtual TBuilder Suggests(SuggestionProvider? provider)

Parameters

provider SuggestionProvider?

Returns

TBuilder

Then<TChildNode>(IArgumentBuilder<TChildNode>)

public TBuilder Then<TChildNode>(IArgumentBuilder<TChildNode> argument) where TChildNode : CommandNode

Parameters

argument IArgumentBuilder<TChildNode>

Returns

TBuilder

Type Parameters

TChildNode

Then<TChildNode>(CommandNode)

public TBuilder Then<TChildNode>(CommandNode node) where TChildNode : CommandNode

Parameters

node CommandNode

Returns

TBuilder

Type Parameters

TChildNode

Then<TChildNode>(Func<IArgumentContext, IArgumentBuilder<TChildNode>>)

public TBuilder Then<TChildNode>(Func<IArgumentContext, IArgumentBuilder<TChildNode>> argument) where TChildNode : CommandNode

Parameters

argument Func<IArgumentContext, IArgumentBuilder<TChildNode>>

Returns

TBuilder

Type Parameters

TChildNode