brigadier: remove placeholder

This commit is contained in:
Bixilon 2023-01-07 18:10:53 +01:00
parent 9777fb387b
commit df2dccf56f
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
28 changed files with 1 additions and 56 deletions

View File

@ -1,6 +1,6 @@
/*
* Minosoft
* Copyright (C) 2020-2022 Moritz Zwerger
* Copyright (C) 2020-2023 Moritz Zwerger
*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
@ -14,11 +14,9 @@
package de.bixilon.minosoft.commands.parser
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.text.ChatComponent
interface ArgumentParser<T> {
val examples: List<Any?>
val placeholder: ChatComponent
fun parse(reader: CommandReader): T
fun getSuggestions(reader: CommandReader): Collection<Any?>

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class DoubleParser(
val max: Double = Double.MAX_VALUE,
) : BrigadierParser<Double> {
override val examples: List<Double> = listOf(1.0, -1.0, 1000.0)
override val placeholder = ChatComponent.of("<double>")
override fun parse(reader: CommandReader): Double {
val result = reader.readResult { reader.readDouble() }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class FloatParser(
val max: Float = Float.MAX_VALUE,
) : BrigadierParser<Float> {
override val examples: List<Float> = listOf(1.0f, -1.0f, 1000.0f)
override val placeholder = ChatComponent.of("<float>")
override fun parse(reader: CommandReader): Float {
val result = reader.readResult { reader.readFloat() }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class IntParser(
val max: Int = Int.MAX_VALUE,
) : BrigadierParser<Int> {
override val examples: List<Int> = listOf(1, -1, 1000)
override val placeholder = ChatComponent.of("<int>")
override fun parse(reader: CommandReader): Int {
val result = reader.readResult { reader.readInt() }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class LongParser(
val max: Long = Long.MAX_VALUE,
) : BrigadierParser<Long> {
override val examples: List<Long> = listOf(1L, -1L, 1000L)
override val placeholder = ChatComponent.of("<long>")
override fun parse(reader: CommandReader): Long {
val result = reader.readResult { reader.readLong() }

View File

@ -20,7 +20,6 @@ import de.bixilon.minosoft.commands.suggestion.ArraySuggestion
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ object BooleanParser : BrigadierParser<Boolean>, ArgumentParserFactory<BooleanPa
override val identifier: ResourceLocation = "brigadier:bool".toResourceLocation()
override val examples: List<Boolean> = listOf(true, false)
private val suggestion = ArraySuggestion(examples)
override val placeholder = ChatComponent.of("<boolean>")
override fun parse(reader: CommandReader): Boolean {
return reader.readRequiredBoolean()

View File

@ -20,7 +20,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class StringParser(
val mode: StringModes = StringModes.SINGLE,
) : BrigadierParser<String> {
override val examples: List<String> = emptyList()
override val placeholder = ChatComponent.of("<string>")
override fun parse(reader: CommandReader): String {
reader.readResult { reader.readString(mode) }.let { return it.result ?: throw StringParseError(reader, it) }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.suggestion.ArraySuggestion
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.ReadResult
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.data.text.formatting.color.ChatColors
import de.bixilon.minosoft.data.text.formatting.color.RGBColor
import de.bixilon.minosoft.data.text.formatting.color.RGBColor.Companion.asColor
@ -30,7 +29,6 @@ class ColorParser(
val supportsRGB: Boolean = true,
) : ArgumentParser<RGBColor> {
override val examples: List<Any> = listOf("red", "yellow")
override val placeholder = ChatComponent.of("<color>")
private val suggestions = ArraySuggestion(ChatColors.NAME_MAP.keys, true)
override fun parse(reader: CommandReader): RGBColor {

View File

@ -26,7 +26,6 @@ object ChatComponentParser : ArgumentParser<ChatComponent>, ArgumentParserFactor
override val identifier: ResourceLocation = "minecraft:component".toResourceLocation()
override val examples: List<Any> = listOf("", "hello", """{"text":"hello world"}""")
private val parser = StringParser(StringParser.StringModes.GREEDY)
override val placeholder = ChatComponent.of("<angle>")
override fun parse(reader: CommandReader): ChatComponent {
if (!reader.canPeek()) {

View File

@ -19,14 +19,12 @@ import de.bixilon.minosoft.commands.parser.minecraft.coordinate.Coordinate
import de.bixilon.minosoft.commands.parser.minecraft.coordinate.CoordinateParserUtil.readCoordinate
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object AngleParser : ArgumentParser<Coordinate>, ArgumentParserFactory<AngleParser> {
override val identifier: ResourceLocation = "minecraft:angle".toResourceLocation()
override val examples: List<Any> = listOf("~", "5", "~10.8")
override val placeholder = ChatComponent.of("<angle>")
override fun parse(reader: CommandReader): Coordinate {
return reader.readCoordinate(caret = false) // ToDo: Check min/max?

View File

@ -18,14 +18,12 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.coordinate.CoordinateParserUtil.readCoordinate
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object BlockPositionParser : ArgumentParser<BlockCoordinate>, ArgumentParserFactory<BlockPositionParser> {
override val identifier: ResourceLocation = "minecraft:block_pos".toResourceLocation()
override val examples: List<Any> = listOf("~ ~ ~", "^ ^ ^", "5 5 5")
override val placeholder = ChatComponent.of("<block position>")
override fun parse(reader: CommandReader): BlockCoordinate {
return BlockCoordinate(reader.readCoordinate(decimal = false), reader.readCoordinate(decimal = false), reader.readCoordinate(decimal = false))

View File

@ -18,14 +18,12 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.coordinate.CoordinateParserUtil.readCoordinate
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object RotationParser : ArgumentParser<Rotation>, ArgumentParserFactory<RotationParser> {
override val identifier: ResourceLocation = "minecraft:rotation".toResourceLocation()
override val examples: List<Any> = listOf("~ ~", "5 5", "~10.8 ~12")
override val placeholder = ChatComponent.of("<rotation>")
override fun parse(reader: CommandReader): Rotation {
return Rotation(reader.readCoordinate(caret = false), reader.readCoordinate(caret = false)) // ToDo: Check min/max?

View File

@ -18,14 +18,12 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.coordinate.CoordinateParserUtil.readCoordinate
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object Vec2Parser : ArgumentParser<Vec2Coordinate>, ArgumentParserFactory<Vec2Parser> {
override val identifier: ResourceLocation = "minecraft:vec2".toResourceLocation()
override val examples: List<Any> = listOf("~ ~ ", "^ ^", "5 5")
override val placeholder = ChatComponent.of("<vec2>")
override fun parse(reader: CommandReader): Vec2Coordinate {
return Vec2Coordinate(reader.readCoordinate(), reader.readCoordinate())

View File

@ -18,14 +18,12 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.coordinate.CoordinateParserUtil.readCoordinate
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object Vec3Parser : ArgumentParser<Vec3Coordinate>, ArgumentParserFactory<Vec3Parser> {
override val identifier: ResourceLocation = "minecraft:vec3".toResourceLocation()
override val examples: List<Any> = listOf("~ ~ ~", "^ ^ ^", "5 5 5")
override val placeholder = ChatComponent.of("<vec3>")
override fun parse(reader: CommandReader): Vec3Coordinate {
return Vec3Coordinate(reader.readCoordinate(), reader.readCoordinate(), reader.readCoordinate())

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.range.RangeParserFactory.readRange
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class FloatRangeParser(
val defaultMin: Float? = -Float.MAX_VALUE,
) : ArgumentParser<FloatRange> {
override val examples: List<Any> = listOf(1.0f, "1.0..10")
override val placeholder = ChatComponent.of("<float..float>")
override fun parse(reader: CommandReader): FloatRange {
return reader.readResult { reader.readFloatRange(defaultMin) }.let { return@let it.result ?: throw FloatRangeParseError(reader, it) }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.parser.minecraft.range.RangeParserFactory.readRange
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class IntRangeParser(
val defaultMin: Int? = Int.MIN_VALUE,
) : ArgumentParser<IntRange> {
override val examples: List<Any> = listOf(1, "1..10")
override val placeholder = ChatComponent.of("<int..int>")
override fun parse(reader: CommandReader): IntRange {
return reader.readResult { reader.readIntRange(defaultMin) }.let { return@let it.result ?: throw IntRangeParseError(reader, it) }

View File

@ -18,7 +18,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.registry.AbstractRegistry
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class ResourceKeyParser(
val registry: AbstractRegistry<*>?,
) : ArgumentParser<Any> {
override val examples: List<Any> = listOf("TODO")
override val placeholder = ChatComponent.of("<TODO>")
override fun parse(reader: CommandReader): Any {
TODO()

View File

@ -18,7 +18,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.registry.AbstractRegistry
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class ResourceParser(
val registry: AbstractRegistry<*>?,
) : ArgumentParser<Any> {
override val examples: List<Any> = listOf("TODO")
override val placeholder = ChatComponent.of("<TODO>")
override fun parse(reader: CommandReader): Any {
TODO()

View File

@ -17,14 +17,12 @@ import de.bixilon.minosoft.commands.parser.ArgumentParser
import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object ResourceLocationParser : ArgumentParser<ResourceLocation>, ArgumentParserFactory<ResourceLocationParser> {
override val identifier: ResourceLocation = "minecraft:resource_location".toResourceLocation()
override val examples: List<Any> = listOf("dirt", "minecraft:dirt")
override val placeholder = ChatComponent.of("<resource location>")
override fun parse(reader: CommandReader): ResourceLocation {
reader.readResult { readResourceLocation() }.let { return it.result ?: throw InvalidResourceLocationError(reader, it) }

View File

@ -18,7 +18,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.registry.AbstractRegistry
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class ResourceOrTagKeyParser(
val registry: AbstractRegistry<*>?,
) : ArgumentParser<Any> {
override val examples: List<Any> = listOf("TODO")
override val placeholder = ChatComponent.of("<TODO>")
override fun parse(reader: CommandReader): Any {
TODO()

View File

@ -18,7 +18,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.registries.registry.AbstractRegistry
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class ResourceOrTagParser(
val registry: AbstractRegistry<*>?,
) : ArgumentParser<Any> {
override val examples: List<Any> = listOf("TODO")
override val placeholder = ChatComponent.of("<TODO>")
override fun parse(reader: CommandReader): Any {
TODO()

View File

@ -18,7 +18,6 @@ import de.bixilon.minosoft.commands.parser.ArgumentParser
import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -27,7 +26,6 @@ class ScoreHolderParser(
val allowMultiple: Boolean = false,
) : ArgumentParser<IntRange> {
override val examples: List<Any> = listOf("TODO")
override val placeholder = ChatComponent.of("<TODO>")
override fun parse(reader: CommandReader): IntRange {
TODO()

View File

@ -31,7 +31,6 @@ import de.bixilon.minosoft.commands.parser.minecraft.uuid.InvalidUUIDError
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.ReadResult
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -42,7 +41,6 @@ class TargetParser(
val playerName: String = DEFAULT_PLAYER_NAME,
) : ArgumentParser<EntityTarget> {
override val examples: List<Any?> = listOf(playerName, "@a", "@p")
override val placeholder = ChatComponent.of("<target>")
override fun parse(reader: CommandReader): EntityTarget {
if (!reader.canPeek()) {

View File

@ -19,14 +19,12 @@ import de.bixilon.minosoft.commands.parser.brigadier._float.FloatParser.Companio
import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object TimeParser : ArgumentParser<Int>, ArgumentParserFactory<TimeParser> {
override val identifier: ResourceLocation = "minecraft:time".toResourceLocation()
override val examples: List<Any> = listOf(2400, "3d", "10s")
override val placeholder = ChatComponent.of("<time>")
override fun parse(reader: CommandReader): Int {
reader.readResult { reader.readTime() }.let { return it.result }

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.StringReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import java.util.*
@ -27,7 +26,6 @@ import java.util.*
object UUIDParser : ArgumentParser<UUID>, ArgumentParserFactory<UUIDParser> {
override val identifier: ResourceLocation = "minecraft:uuid".toResourceLocation()
override val examples: List<Any> = listOf("9e6ce7c5-40d3-483e-8e5a-b6350987d65f")
override val placeholder = ChatComponent.of("<uuid>")
override fun parse(reader: CommandReader): UUID {
reader.readResult { readUUID() }.let { return it.result ?: throw InvalidUUIDError(reader, it) }

View File

@ -25,14 +25,12 @@ import de.bixilon.minosoft.commands.parser.minosoft.connection.selector.properti
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.commands.util.ReadResult
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object ConnectionParser : ArgumentParser<ConnectionTarget>, ArgumentParserFactory<ConnectionParser> {
override val identifier: ResourceLocation = "minosoft:connection".toResourceLocation()
override val examples: List<Any?> = listOf("1", "@")
override val placeholder = ChatComponent.of("<connection>")
override fun parse(reader: CommandReader): ConnectionTarget {
if (!reader.canPeek()) {

View File

@ -17,14 +17,12 @@ import de.bixilon.minosoft.commands.parser.ArgumentParser
import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object DummyParser : ArgumentParser<Any>, ArgumentParserFactory<DummyParser> {
override val identifier: ResourceLocation = "minosoft:dummy".toResourceLocation()
override val examples: List<Any> = listOf("?")
override val placeholder = ChatComponent.of("<?>")
override fun parse(reader: CommandReader): String {
return "?"

View File

@ -19,7 +19,6 @@ import de.bixilon.minosoft.commands.parser.factory.ArgumentParserFactory
import de.bixilon.minosoft.commands.suggestion.ArraySuggestion
import de.bixilon.minosoft.commands.util.CommandReader
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.util.KUtil.toResourceLocation
@ -28,7 +27,6 @@ class EnumParser<E : Enum<*>>(
) : ArgumentParser<E> {
override val examples: List<E> = values.VALUES.toList()
private val suggestion = ArraySuggestion(examples, ignoreCase = true)
override val placeholder = ChatComponent.of("<enum>")
override fun parse(reader: CommandReader): E {
reader.readResult { reader.readEnum() }.let { return it.result ?: throw EnumParseError(reader, it) }