diff --git a/src/main/java/de/bixilon/minosoft/config/config/game/GameConfig.kt b/src/main/java/de/bixilon/minosoft/config/config/game/GameConfig.kt index c08806fd6..4e2647ace 100644 --- a/src/main/java/de/bixilon/minosoft/config/config/game/GameConfig.kt +++ b/src/main/java/de/bixilon/minosoft/config/config/game/GameConfig.kt @@ -18,7 +18,7 @@ import de.bixilon.minosoft.config.config.game.entities.EntitiesConfig import de.bixilon.minosoft.config.config.game.graphics.GraphicsGameConfig import de.bixilon.minosoft.config.config.game.sound.SoundConfig import de.bixilon.minosoft.config.config.game.world.WorldConfig -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.gui.rendering.hud.elements.primitive.HUDElement data class GameConfig( diff --git a/src/main/java/de/bixilon/minosoft/config/config/game/elements/ElementsGameConfig.kt b/src/main/java/de/bixilon/minosoft/config/config/game/elements/ElementsGameConfig.kt deleted file mode 100644 index 55853a263..000000000 --- a/src/main/java/de/bixilon/minosoft/config/config/game/elements/ElementsGameConfig.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2021 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. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program. If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.config.config.game.elements - -import de.bixilon.minosoft.data.mappings.ResourceLocation -import de.bixilon.minosoft.gui.rendering.hud.elements.primitive.HUDElement - -data class ElementsGameConfig( - val entries: MutableMap = mutableMapOf(), -) diff --git a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt index bed42d6e1..dc504c91a 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt @@ -17,7 +17,10 @@ import com.google.gson.JsonElement import com.google.gson.JsonObject import de.bixilon.minosoft.data.locale.minecraft.Translator import de.bixilon.minosoft.data.text.RGBColor.Companion.asColor +import de.bixilon.minosoft.data.text.events.ClickEvent +import de.bixilon.minosoft.data.text.events.HoverEvent import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition +import de.bixilon.minosoft.util.KUtil.nullCast import javafx.collections.ObservableList import javafx.scene.Node import java.text.CharacterIterator @@ -54,9 +57,8 @@ class BaseComponent : ChatComponent { val formattingChar = iterator.next() - ChatColors.getColorByFormattingChar(formattingChar)?.let { + ChatColors.VALUES.getOrNull(Character.digit(formattingChar, 16))?.let { push() - currentColor = it } ?: ChatFormattingCodes.getChatFormattingCodeByChar(formattingChar)?.let { push() @@ -92,7 +94,7 @@ class BaseComponent : ChatComponent { if (colorName.startsWith("#")) { colorName.asColor() } else { - ChatColors.getColorByName(colorName) + ChatCode.FORMATTING_CODES[colorName]?.nullCast() } } ?: parent?.color diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt index af88f3278..562ab27e2 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt @@ -15,7 +15,7 @@ package de.bixilon.minosoft.gui.rendering.hud import de.bixilon.minosoft.Minosoft import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.gui.rendering.RenderConstants import de.bixilon.minosoft.gui.rendering.RenderWindow import de.bixilon.minosoft.gui.rendering.Renderer diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/atlas/HUDAtlasElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/atlas/HUDAtlasElement.kt index a453406a5..5ac03bd51 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/atlas/HUDAtlasElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/atlas/HUDAtlasElement.kt @@ -32,15 +32,6 @@ data class HUDAtlasElement( override val size: Vec2i get() = binding.size - val uvs: Array get() { - return arrayOf( - Vec2(uvStart.x, uvStart.y), - Vec2(uvStart.x, uvEnd.y), - Vec2(uvEnd.x, uvStart.y), - Vec2(uvEnd.x, uvEnd.y), - ) - } - fun postInit() { uvStart = (Vec2(binding.start) + RenderConstants.PIXEL_UV_PIXEL_ADD) * texture.arraySinglePixelFactor uvEnd = Vec2(binding.end) * texture.arraySinglePixelFactor diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/HUDElementPositionAnchors.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/HUDElementPositionAnchors.kt index 32e715dc5..fc952b309 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/HUDElementPositionAnchors.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/HUDElementPositionAnchors.kt @@ -1,6 +1,6 @@ package de.bixilon.minosoft.gui.rendering.hud.elements -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import glm_.vec2.Vec2i enum class HUDElementPositionAnchors(val resourceLocation: ResourceLocation, val quadTransform: (Vec2i, Vec2i) -> Array) { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/position/HUDElementPositionAnchors.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/position/HUDElementPositionAnchors.kt index 0571e9c12..91df911c3 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/position/HUDElementPositionAnchors.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/position/HUDElementPositionAnchors.kt @@ -1,6 +1,6 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.position -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.gui.rendering.util.VecUtil.EMPTY import de.bixilon.minosoft.gui.rendering.util.VecUtil.ONES import de.bixilon.minosoft.gui.rendering.util.VecUtil.toVec2 @@ -8,9 +8,9 @@ import glm_.vec2.Vec2 import glm_.vec2.Vec2i enum class HUDElementPositionAnchors( - val resourceLocation: ResourceLocation, - val quadTransform: (Vec2i, Vec2i) -> Array, - val positionTransform: Vec2 + val resourceLocation: ResourceLocation, + val quadTransform: (Vec2i, Vec2i) -> Array, + val positionTransform: Vec2 ) { // quad transform order: top left, bottom left, bottom right, top right CENTER(ResourceLocation("minosoft:center"), diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElement.kt index 01086ff49..abd9d11d3 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElement.kt @@ -13,12 +13,6 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.primitive -import de.bixilon.minosoft.data.mappings.ResourceLocation -import de.bixilon.minosoft.data.text.RGBColor -import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer -import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElementPositionAnchors -import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElementVec2 -import glm_.mat4x4.Mat4 import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer import de.bixilon.minosoft.gui.rendering.hud.elements.position.HUDElementPositionAnchors import de.bixilon.minosoft.gui.rendering.hud.elements.position.HUDElementVec2 diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementPosition.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementPosition.kt index 14e88d2a5..354cc8888 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementPosition.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementPosition.kt @@ -1,7 +1,7 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.primitive import de.bixilon.minosoft.Minosoft -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer import de.bixilon.minosoft.gui.rendering.hud.elements.position.HUDElementPositionAnchors import de.bixilon.minosoft.gui.rendering.hud.elements.position.HUDElementVec2 diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementSerializer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementSerializer.kt index de8e3bb6f..71a405419 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementSerializer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDElementSerializer.kt @@ -3,10 +3,7 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.primitive import com.squareup.moshi.FromJson import com.squareup.moshi.JsonWriter import com.squareup.moshi.ToJson -import de.bixilon.minosoft.data.mappings.ResourceLocation -import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElementPositionAnchors -import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElementVec2 -import de.bixilon.minosoft.util.json.RGBColorSerializer +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.gui.rendering.hud.elements.position.HUDElementVec2 import de.bixilon.minosoft.gui.rendering.hud.elements.text.HUDTextElement diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDImageElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDImageElement.kt index c91ec80ac..efde511e5 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDImageElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/primitive/HUDImageElement.kt @@ -1,6 +1,6 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.primitive -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.data.text.ChatColors import de.bixilon.minosoft.data.text.RGBColor import de.bixilon.minosoft.gui.rendering.RenderConstants diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDTextElementAlignments.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDTextElementAlignments.kt index 7a293927e..8d2545733 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDTextElementAlignments.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDTextElementAlignments.kt @@ -1,6 +1,6 @@ package de.bixilon.minosoft.gui.rendering.hud.elements.text -import de.bixilon.minosoft.data.mappings.ResourceLocation +import de.bixilon.minosoft.data.registries.ResourceLocation enum class HUDTextElementAlignments(val resourceLocation: ResourceLocation, val transform: (Float, Float) -> Float) { LEFT(ResourceLocation("minosoft:left"), { _, position -> diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt index 9c5dcf057..b5232fd7e 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt @@ -64,13 +64,12 @@ object VecUtil { val Vec2.Companion.ONES: Vec2 get() = Vec2(1f, 1f) - - fun JsonElement.toVec3(): Vec3 { + fun JsonElement.toVec3(default: Vec3? = null): Vec3 { return when (this) { is JsonArray -> Vec3(this[0].asFloat, this[1].asFloat, this[2].asFloat) is JsonObject -> Vec3(this["x"]?.asFloat ?: 0, this["y"]?.asFloat ?: 0, this["z"]?.asFloat ?: 0) is JsonPrimitive -> Vec3(this.asFloat) - else -> throw IllegalArgumentException("Not a Vec3!") + else -> default ?: throw IllegalArgumentException("Not a Vec3!") } } @@ -514,20 +513,4 @@ object VecUtil { z = 0.0 } } - - operator fun Vec2i.get(axis: Axes): Int { - return when (axis) { - Axes.X -> this.x - Axes.Y -> this.y - Axes.Z -> throw java.lang.IllegalArgumentException("Z does not exist") - } - } - - operator fun Vec2.get(axis: Axes): Float { - return when (axis) { - Axes.X -> this.x - Axes.Y -> this.y - Axes.Z -> throw java.lang.IllegalArgumentException("Z does not exist") - } - } }