mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-16 02:45:13 -04:00
brigadier: remove placeholder
This commit is contained in:
parent
9777fb387b
commit
df2dccf56f
@ -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?>
|
||||
|
@ -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() }
|
||||
|
@ -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() }
|
||||
|
@ -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() }
|
||||
|
@ -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() }
|
||||
|
@ -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()
|
||||
|
@ -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) }
|
||||
|
@ -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 {
|
||||
|
@ -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()) {
|
||||
|
@ -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?
|
||||
|
@ -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))
|
||||
|
@ -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?
|
||||
|
@ -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())
|
||||
|
@ -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())
|
||||
|
@ -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) }
|
||||
|
@ -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) }
|
||||
|
@ -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()
|
||||
|
@ -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()
|
||||
|
@ -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) }
|
||||
|
@ -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()
|
||||
|
@ -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()
|
||||
|
@ -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()
|
||||
|
@ -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()) {
|
||||
|
@ -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 }
|
||||
|
@ -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) }
|
||||
|
@ -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()) {
|
||||
|
@ -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 "?"
|
||||
|
@ -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) }
|
||||
|
Loading…
x
Reference in New Issue
Block a user