diff --git a/src/main/java/de/bixilon/minosoft/camera/target/targets/BlockTarget.kt b/src/main/java/de/bixilon/minosoft/camera/target/targets/BlockTarget.kt index 2d8456bda..20dcae1ed 100644 --- a/src/main/java/de/bixilon/minosoft/camera/target/targets/BlockTarget.kt +++ b/src/main/java/de/bixilon/minosoft/camera/target/targets/BlockTarget.kt @@ -36,7 +36,7 @@ class BlockTarget( val cursor = position - blockPosition override fun toString(): String { - return toText().legacyText + return toText().legacy } override fun toText(): ChatComponent { diff --git a/src/main/java/de/bixilon/minosoft/camera/target/targets/EntityTarget.kt b/src/main/java/de/bixilon/minosoft/camera/target/targets/EntityTarget.kt index 6c9fc35ec..0548f572d 100644 --- a/src/main/java/de/bixilon/minosoft/camera/target/targets/EntityTarget.kt +++ b/src/main/java/de/bixilon/minosoft/camera/target/targets/EntityTarget.kt @@ -32,7 +32,7 @@ class EntityTarget( ) : GenericTarget(position, distance, direction), TextFormattable { override fun toString(): String { - return toText().legacyText + return toText().legacy } override fun toText(): ChatComponent { diff --git a/src/main/java/de/bixilon/minosoft/camera/target/targets/FluidTarget.kt b/src/main/java/de/bixilon/minosoft/camera/target/targets/FluidTarget.kt index 337b46b8f..99dbf2c16 100644 --- a/src/main/java/de/bixilon/minosoft/camera/target/targets/FluidTarget.kt +++ b/src/main/java/de/bixilon/minosoft/camera/target/targets/FluidTarget.kt @@ -34,7 +34,7 @@ class FluidTarget( ) : GenericTarget(position, distance, direction), TextFormattable { override fun toString(): String { - return toText().legacyText + return toText().legacy } override fun toText(): ChatComponent { 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 1c4521d7a..33cf2c654 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.kt @@ -138,20 +138,20 @@ class BaseComponent : ChatComponent { return BaseComponent(parts) } - override val ansiColoredMessage: String + override val ansi: String get() { - val stringBuilder = StringBuilder() + val builder = StringBuilder() for (part in parts) { - stringBuilder.append(part.ansiColoredMessage) + builder.append(part.ansi) } - return stringBuilder.toString() + return builder.toString() } - override val legacyText: String + override val legacy: String get() { val stringBuilder = StringBuilder() for (part in parts) { - stringBuilder.append(part.legacyText) + stringBuilder.append(part.legacy) } // ToDo: Remove §r suffix return stringBuilder.toString() @@ -198,7 +198,7 @@ class BaseComponent : ChatComponent { } override fun toString(): String { - return legacyText + return legacy } operator fun plusAssign(component: ChatComponent) { diff --git a/src/main/java/de/bixilon/minosoft/data/text/ChatComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/ChatComponent.kt index c7eacfe2e..d3e7b0d2d 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/ChatComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/ChatComponent.kt @@ -33,12 +33,12 @@ interface ChatComponent { /** * @return Returns the message formatted with ANSI Formatting codes */ - val ansiColoredMessage: String + val ansi: String /** * @return Returns the message formatted with minecraft formatting codes (§) */ - val legacyText: String + val legacy: String /** * @return Returns the unformatted message diff --git a/src/main/java/de/bixilon/minosoft/data/text/EmptyComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/EmptyComponent.kt index 56afaee34..b822e834b 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/EmptyComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/EmptyComponent.kt @@ -17,8 +17,8 @@ import de.bixilon.minosoft.data.text.formatting.color.RGBColor import javafx.collections.ObservableList import javafx.scene.Node object EmptyComponent : ChatComponent { - override val ansiColoredMessage: String get() = "" - override val legacyText: String get() = "" + override val ansi: String get() = "" + override val legacy: String get() = "" override val message: String get() = "" override fun getJson(): Any = emptyList() diff --git a/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt index b049e9a1e..fa178f9b9 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt @@ -80,7 +80,7 @@ open class TextComponent( } override fun toString(): String { - return legacyText + return legacy } override fun setFallbackColor(color: RGBColor): TextComponent { @@ -90,22 +90,22 @@ open class TextComponent( return this } - override val ansiColoredMessage: String + override val ansi: String get() { - val stringBuilder = StringBuilder() + val builder = StringBuilder() this.color?.let { - stringBuilder.append(it.ansi) + builder.append(it.ansi) } for (formattingCode in this.formatting) { - stringBuilder.append(formattingCode.ansi) + builder.append(formattingCode.ansi) } - stringBuilder.append(this.message) - stringBuilder.append(FormattingCodes.RESET.ansi) - return stringBuilder.toString() + builder.append(this.message) + builder.append(FormattingCodes.RESET.ansi) + return builder.toString() } - override val legacyText: String + override val legacy: String get() { val builder = StringBuilder() ChatColors.getChar(color)?.let { builder.append(ProtocolDefinition.TEXT_COMPONENT_FORMATTING_PREFIX).append(it) } diff --git a/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt b/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt index 1bf04963f..b355b4293 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/formatting/color/RGBColor.kt @@ -22,7 +22,7 @@ import de.bixilon.minosoft.data.text.formatting.TextFormattable import org.checkerframework.common.value.qual.IntRange class RGBColor(val rgba: Int) : TextFormattable { - val ansi: String = ANSI.rgb(red, green, blue) + val ansi: String get() = ANSI.rgb(red, green, blue) @JvmOverloads constructor(red: Int, green: Int, blue: Int, alpha: Int = 0xFF) : this(alpha or (blue shl 8) or (green shl 16) or (red shl 24)) diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/ServerModifyDialog.kt b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/ServerModifyDialog.kt index bed1099a7..b53a26c7e 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/ServerModifyDialog.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/ServerModifyDialog.kt @@ -167,7 +167,7 @@ class ServerModifyDialog( descriptionFX.text = EDIT_DESCRIPTION modifyServerButtonFX.ctext = EDIT_UPDATE_BUTTON - serverNameFX.text = server.name.legacyText.removeSuffix("§r") + serverNameFX.text = server.name.legacy.removeSuffix("§r") serverAddressFX.text = server.address modifyServerButtonFX.isDisable = serverAddressFX.text.isBlank() diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/camera/frustum/Frustum.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/camera/frustum/Frustum.kt index f607b5b87..9eb09f706 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/camera/frustum/Frustum.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/camera/frustum/Frustum.kt @@ -185,7 +185,10 @@ class Frustum( fun containsAABB(aabb: AABB): Boolean { val offset = camera.offset.offset - return containsRegion(Vec3(aabb.min - offset), Vec3(aabb.max - offset)) + return containsRegion( + (aabb.min.x - offset.x).toFloat(), (aabb.min.y - offset.x).toFloat(), (aabb.min.z - offset.x).toFloat(), + (aabb.max.x - offset.x).toFloat(), (aabb.max.x - offset.x).toFloat(), (aabb.max.x - offset.x).toFloat(), + ) } operator fun contains(aabb: AABB) = containsAABB(aabb) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/camera/visibility/WorldVisibilityGraph.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/camera/visibility/WorldVisibilityGraph.kt index 4ab084f7a..fd584f376 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/camera/visibility/WorldVisibilityGraph.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/camera/visibility/WorldVisibilityGraph.kt @@ -125,28 +125,27 @@ class WorldVisibilityGraph( if (!RenderConstants.OCCLUSION_CULLING_ENABLED) { return frustum.containsAABB(aabb) } - val chunkPositions: MutableSet = HashSet() + val chunkPositions: MutableSet = HashSet(4, 1.0f) val sectionIndices = IntOpenHashSet() - for (position in aabb.positions()) { + for (position in aabb.positions()) { // TODO: use ChunkPosition iterator chunkPositions += position.chunkPosition sectionIndices += position.sectionHeight - minSection } - var visible = false - chunkPositions@ for (chunkPosition in chunkPositions) { + + for (chunkPosition in chunkPositions) { val visibility = getChunkVisibility(chunkPosition) ?: continue for (index in sectionIndices.intIterator()) { if (index < 0 || index > maxIndex) { - visible = true // ToDo: Not 100% correct, image looking from > maxIndex to < 0 - break@chunkPositions + // ToDo: Not 100% correct, image looking from > maxIndex to < 0 + return false } if (visibility[index + 1]) { - visible = true - break@chunkPositions + return false } } } - return !visible + return true } fun isAABBVisible(aabb: AABB): Boolean { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListEntryElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListEntryElement.kt index 65dfdf79b..f3bac7080 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListEntryElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListEntryElement.kt @@ -140,7 +140,7 @@ class TabListEntryElement( } override fun toString(): String { - return displayName.legacyText + return displayName.legacy } companion object { diff --git a/src/main/java/de/bixilon/minosoft/util/json/ChatComponentColorSerializer.kt b/src/main/java/de/bixilon/minosoft/util/json/ChatComponentColorSerializer.kt index 492dfe738..9e3c64c19 100644 --- a/src/main/java/de/bixilon/minosoft/util/json/ChatComponentColorSerializer.kt +++ b/src/main/java/de/bixilon/minosoft/util/json/ChatComponentColorSerializer.kt @@ -41,7 +41,7 @@ object ChatComponentColorSerializer : SimpleModule() { object Serializer : StdSerializer(ChatComponent::class.java) { override fun serialize(value: ChatComponent?, generator: JsonGenerator, provider: SerializerProvider?) { - generator.writeString(value?.legacyText?.removeSuffix(ProtocolDefinition.TEXT_COMPONENT_FORMATTING_PREFIX.toString() + FormattingCodes.RESET.char.toString())) + generator.writeString(value?.legacy?.removeSuffix(ProtocolDefinition.TEXT_COMPONENT_FORMATTING_PREFIX.toString() + FormattingCodes.RESET.char.toString())) } } } diff --git a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt index d2e2e8a38..fd02c2385 100644 --- a/src/main/java/de/bixilon/minosoft/util/logging/Log.kt +++ b/src/main/java/de/bixilon/minosoft/util/logging/Log.kt @@ -102,8 +102,8 @@ object Log { SYSTEM_OUT_STREAM } - val prefix = message.ansiColoredMessage.removeSuffix(RESET) // reset suffix - for (line in this.message.ansiColoredMessage.lineSequence()) { + val prefix = message.ansi.removeSuffix(RESET) // reset suffix + for (line in this.message.ansi.lineSequence()) { stream.println(prefix + line + RESET) } stream.flush() diff --git a/src/test/java/de/bixilon/minosoft/data/language/lang/LanguageTest.kt b/src/test/java/de/bixilon/minosoft/data/language/lang/LanguageTest.kt index 78fb1e00f..b75d2403f 100644 --- a/src/test/java/de/bixilon/minosoft/data/language/lang/LanguageTest.kt +++ b/src/test/java/de/bixilon/minosoft/data/language/lang/LanguageTest.kt @@ -95,7 +95,7 @@ class LanguageTest { @Test fun formatting() { val language = create("§eHi %s, welcome!") - assertEquals(language.translate(KEY, data = arrayOf("§aMoritz"))?.legacyText, "§eHi §r§aMoritz§r§e, welcome!§r") + assertEquals(language.translate(KEY, data = arrayOf("§aMoritz"))?.legacy, "§eHi §r§aMoritz§r§e, welcome!§r") } @Test @@ -107,7 +107,7 @@ class LanguageTest { @Test fun parent() { val language = create("Hi %s, welcome!") - assertEquals(language.translate(KEY, parent = TextComponent("").color(ChatColors.YELLOW), data = arrayOf("§aMoritz"))?.legacyText, "§eHi §r§aMoritz§r§e, welcome!§r") + assertEquals(language.translate(KEY, parent = TextComponent("").color(ChatColors.YELLOW), data = arrayOf("§aMoritz"))?.legacy, "§eHi §r§aMoritz§r§e, welcome!§r") } @Test