LiteralNode

open class LiteralNode<S>

Scope for building a command tree node. Provides literal, argument, executes, and requires.

Inheritors

Properties

Link copied to clipboard
val builder: ArgumentBuilder<S, *>

Functions

Link copied to clipboard
fun <S, T> LiteralNode<S>.argument(name: String, type: ArgumentType<T>, block: ArgumentNode<S, T>.() -> Unit)

Adds a required argument of the given Brigadier type. Prefer the typed helpers (e.g. string, integer).

Link copied to clipboard
fun <S> LiteralNode<S>.boolean(name: String, block: ArgumentNode<S, Boolean>.() -> Unit)

Adds a boolean argument.

Link copied to clipboard
fun <S> LiteralNode<S>.double(name: String, block: ArgumentNode<S, Double>.() -> Unit)

Adds a double argument.

fun <S> LiteralNode<S>.double(name: String, min: Double, block: ArgumentNode<S, Double>.() -> Unit)

Adds a double argument with minimum min.

fun <S> LiteralNode<S>.double(name: String, min: Double, max: Double, block: ArgumentNode<S, Double>.() -> Unit)

Adds a double argument bounded to min..max.

Link copied to clipboard

Registers the execution handler for this node. Returns Command.SINGLE_SUCCESS automatically.

Execution handler that extracts the platform Sender before invoking block.

Link copied to clipboard

Registers an execution handler that returns a custom Brigadier result code.

Execution handler with custom result code that extracts the platform Sender before invoking block.

Link copied to clipboard
fun <S> LiteralNode<S>.float(name: String, block: ArgumentNode<S, Float>.() -> Unit)

Adds a float argument.

fun <S> LiteralNode<S>.float(name: String, min: Float, block: ArgumentNode<S, Float>.() -> Unit)

Adds a float argument with minimum min.

fun <S> LiteralNode<S>.float(name: String, min: Float, max: Float, block: ArgumentNode<S, Float>.() -> Unit)

Adds a float argument bounded to min..max.

Link copied to clipboard
fun <S> LiteralNode<S>.greedyString(name: String, block: ArgumentNode<S, String>.() -> Unit)

Adds a greedy string argument that consumes all remaining input. @see KContext.greedyString

Link copied to clipboard
fun <S> LiteralNode<S>.integer(name: String, block: ArgumentNode<S, Int>.() -> Unit)

Adds an integer argument.

fun <S> LiteralNode<S>.integer(name: String, min: Int, block: ArgumentNode<S, Int>.() -> Unit)

Adds an integer argument with minimum min.

fun <S> LiteralNode<S>.integer(name: String, min: Int, max: Int, block: ArgumentNode<S, Int>.() -> Unit)

Adds an integer argument bounded to min..max.

Link copied to clipboard
fun <S> LiteralNode<S>.literal(name: String, vararg aliases: String, block: LiteralNode<S>.() -> Unit)

Adds a literal sub-command named name with optional aliases that redirect to it.

Link copied to clipboard
fun <S> LiteralNode<S>.long(name: String, block: ArgumentNode<S, Long>.() -> Unit)

Adds a long argument.

fun <S> LiteralNode<S>.long(name: String, min: Long, block: ArgumentNode<S, Long>.() -> Unit)

Adds a long argument with minimum min.

fun <S> LiteralNode<S>.long(name: String, min: Long, max: Long, block: ArgumentNode<S, Long>.() -> Unit)

Adds a long argument bounded to min..max.

Link copied to clipboard
fun <S> LiteralNode<S>.requires(predicate: (S) -> Boolean)

Adds a requirement that must be true for this node to be visible and executable. Stacks with previous requirements.

Link copied to clipboard

Requires the source to have the given permission, checked via platform.

Link copied to clipboard
fun <S, Sender> LiteralNode<S>.requiresSender(platform: PlatformAdapter<S, Sender>, predicate: (Sender) -> Boolean)

Requires the platform sender to match a predicate (e.g. to check sender type).

Link copied to clipboard
fun <S> LiteralNode<S>.string(name: String, block: ArgumentNode<S, String>.() -> Unit)

Adds a quoted or single-word string argument.

Link copied to clipboard
fun <S> LiteralNode<S>.word(name: String, block: ArgumentNode<S, String>.() -> Unit)

Adds a single-word string argument. @see KContext.word