Package-level declarations

Functions

Link copied to clipboard
fun <S> SenderScope<S>.byteParameter(id: TypedIdentifier<Byte>, min: Byte = Byte.MIN_VALUE, max: Byte = Byte.MAX_VALUE, description: String = ""): StructureElement<S, ByteParameter<S>>
fun <S> SenderScope<S>.byteParameter(name: String, min: Byte = Byte.MIN_VALUE, max: Byte = Byte.MAX_VALUE, description: String = ""): StructureElement<S, ByteParameter<S>>
Link copied to clipboard
fun <S> Command<S>.command(name: String, aliases: Set<String> = setOf(), requirement: Requirement<S> = requirement { SenderValidationResult.success() }, description: String = ""): StructureScope<S>
fun <S> StructureScope<S>.command(name: String, aliases: Set<String> = setOf(), requirement: Requirement<S> = requirement { SenderValidationResult.success() }, description: String = ""): StructureScope<S>
Link copied to clipboard
Link copied to clipboard
fun <S, T : Any> SenderScope<S>.defaultValidated(value: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }): ValidatedDefault<S, T>
Link copied to clipboard
fun <S> SenderScope<S>.doubleParameter(id: TypedIdentifier<Double>, min: Double = -Double.MAX_VALUE, max: Double = Double.MAX_VALUE, description: String = ""): StructureElement<S, DoubleParameter<S>>
fun <S> SenderScope<S>.doubleParameter(name: String, min: Double = -Double.MAX_VALUE, max: Double = Double.MAX_VALUE, description: String = ""): StructureElement<S, DoubleParameter<S>>
Link copied to clipboard
@JvmName(name = "aliasableEnumParameter")
inline fun <S, T : Enum<T>, Aliasable> SenderScope<S>.enumParameter(id: TypedIdentifier<T>, enum: KClass<T>, description: String = ""): StructureElement<S, EnumParameter<S, T>>
@JvmName(name = "enumParameter")
inline fun <S, T : Enum<T>> SenderScope<S>.enumParameter(id: TypedIdentifier<T>, enum: KClass<T>, description: String = ""): StructureElement<S, EnumParameter<S, T>>
@JvmName(name = "aliasableEnumParameterNamed")
inline fun <S, T : Enum<T>, Aliasable> SenderScope<S>.enumParameter(name: String, enum: KClass<T>, description: String = ""): StructureElement<S, EnumParameter<S, T>>
@JvmName(name = "enumParameterNamed")
inline fun <S, T : Enum<T>> SenderScope<S>.enumParameter(name: String, enum: KClass<T>, description: String = ""): StructureElement<S, EnumParameter<S, T>>
Link copied to clipboard
fun <S> SenderScope<S>.flag(id: TypedIdentifier<Boolean>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, Boolean>>
fun <S> SenderScope<S>.flag(name: String, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, Boolean>>
fun <S, T : Any> SenderScope<S>.flag(id: TypedIdentifier<T>, default: ContextualValue<S, T>, presentValue: ContextualValue<S, T>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>
inline fun <S, T : Any> SenderScope<S>.flag(name: String, noinline default: ContextualValue<S, T>, noinline presentValue: ContextualValue<S, T>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>
Link copied to clipboard
fun <S> SenderScope<S>.floatParameter(id: TypedIdentifier<Float>, min: Float = -Float.MAX_VALUE, max: Float = Float.MAX_VALUE, description: String = ""): StructureElement<S, FloatParameter<S>>
fun <S> SenderScope<S>.floatParameter(name: String, min: Float = -Float.MAX_VALUE, max: Float = Float.MAX_VALUE, description: String = ""): StructureElement<S, FloatParameter<S>>
Link copied to clipboard
fun <S> SenderScope<S>.group(vararg elements: StructureElement<S, Groupable<S, *>>, description: String = ""): StructureElement<S, Group<S>>
Link copied to clipboard
Link copied to clipboard
inline fun <T : Any> id(name: String): TypedIdentifier<T>
Link copied to clipboard
fun <S> SenderScope<S>.intParameter(id: TypedIdentifier<Int>, min: Int = Int.MIN_VALUE, max: Int = Int.MAX_VALUE, description: String = ""): StructureElement<S, IntParameter<S>>
fun <S> SenderScope<S>.intParameter(name: String, min: Int = Int.MIN_VALUE, max: Int = Int.MAX_VALUE, description: String = ""): StructureElement<S, IntParameter<S>>
Link copied to clipboard
operator fun <S> StructureScope<S>.invoke(execute: ExecutionContext<S>.() -> ExecutionResult): Structure<S>
Link copied to clipboard
inline fun <S, T : Any> SenderScope<S>.listElementParameter(name: String, noinline list: ContextualValue<S, List<T>>, noinline onEmpty: ExecutionContext<S>.() -> ExecutionResult, description: String = ""): StructureElement<S, ListElementParameter<S, T>>
Link copied to clipboard
Link copied to clipboard
fun <S> SenderScope<S>.literalParameter(id: TypedIdentifier<String>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, LiteralParameter<S>>
fun <S> SenderScope<S>.literalParameter(name: String, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, LiteralParameter<S>>
Link copied to clipboard
fun <S> SenderScope<S>.longParameter(id: TypedIdentifier<Long>, min: Long = Long.MIN_VALUE, max: Long = Long.MAX_VALUE, description: String = ""): StructureElement<S, LongParameter<S>>
fun <S> SenderScope<S>.longParameter(name: String, min: Long = Long.MIN_VALUE, max: Long = Long.MAX_VALUE, description: String = ""): StructureElement<S, LongParameter<S>>
Link copied to clipboard
@JvmName(name = "require")
fun <S, T : Any> SenderScope<S>.require(requirement: Requirement<S>, parameter: StructureElement<S, StructureElement<S, Parameter<S, T>>>): StructureElement<S, ValidatedParameter<S, T>>
@JvmName(name = "requireCommand")
fun <S> SenderScope<S>.require(requirement: Requirement<S> = requirement { SenderValidationResult.success() }, command: StructureElement<S, StructureElement<S, Structure<S>>>): StructureElement<S, Structure<S>>
fun <S, T : Any> SenderScope<S>.require(invalidDefault: T, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, flag: StructureElement<S, StructureElement<S, Flag<S, T>>>): StructureElement<S, Flag<S, T>>
fun <S, T : Any> SenderScope<S>.require(invalidDefault: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, flag: StructureElement<S, StructureElement<S, Flag<S, T>>>): StructureElement<S, Flag<S, T>>
Link copied to clipboard
@JvmName(name = "requireAs")
fun <S, S2, T : Any> SenderScope<S>.requireAs(transform: (S) -> S2, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, parameter: StructureElement<S2, StructureElement<S2, Parameter<S2, T>>>): StructureElement<S, ValidatedParameter<S, T>>
@JvmName(name = "requireAsCommand")
fun <S, S2> SenderScope<S>.requireAs(transform: (S) -> S2, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, command: StructureElement<S2, StructureElement<S2, Structure<S2>>>): StructureElement<S, Structure<S>>
fun <S, S2, T : Any> SenderScope<S>.requireAs(transform: (S) -> S2, invalidDefault: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
Link copied to clipboard
@JvmName(name = "requireIs")
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline parameter: StructureElement<S2, StructureElement<S2, Parameter<S2, T>>>): StructureElement<S, ValidatedParameter<S, T>>
@JvmName(name = "requireIsCommand")
inline fun <S : Any, S2 : S> SenderScope<S>.requireIs(senderType: KClass<S2>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline command: StructureElement<S2, StructureElement<S2, Structure<S2>>>): StructureElement<S, Structure<S>>
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, invalidDefault: T, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, noinline invalidDefault: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
Link copied to clipboard
@JvmName(name = "requirement")
fun <S> SenderScope<S>.requirement(validate: (S) -> Result<Unit>): Requirement<S>
@JvmName(name = "requirementBoolean")
fun <S> SenderScope<S>.requirement(failureResult: Result<Unit> = SenderValidationResult.failSender(), validate: (S) -> Boolean): Requirement<S>
Link copied to clipboard
fun <S> SenderScope<S>.shortParameter(id: TypedIdentifier<Short>, min: Short = Short.MIN_VALUE, max: Short = Short.MAX_VALUE, description: String = ""): StructureElement<S, ShortParameter<S>>
fun <S> SenderScope<S>.shortParameter(name: String, min: Short = Short.MIN_VALUE, max: Short = Short.MAX_VALUE, description: String = ""): StructureElement<S, ShortParameter<S>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <S, T : Any> SenderScope<S>.valueFlag(id: TypedIdentifier<T>, default: T, parameter: StructureElement<S, Parameter.FixedSize<S, T>>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>
fun <S, T : Any> SenderScope<S>.valueFlag(id: TypedIdentifier<T>, default: ContextualValue<S, T>, parameter: StructureElement<S, Parameter.FixedSize<S, T>>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>
inline fun <S, T : Any> SenderScope<S>.valueFlag(name: String, default: T, noinline parameter: StructureElement<S, Parameter.FixedSize<S, T>>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>
inline fun <S, T : Any> SenderScope<S>.valueFlag(name: String, noinline default: ContextualValue<S, T>, noinline parameter: StructureElement<S, Parameter.FixedSize<S, T>>, aliases: Set<String> = setOf(), description: String = ""): StructureElement<S, Flag<S, T>>