From 304df9d1892b4689655915e64835e81f58199662 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sat, 3 Sep 2022 19:29:16 +0200 Subject: [PATCH] world border: don't render if more than 1000 blocks away --- .../minosoft/data/world/container/BlockSectionDataProvider.kt | 2 +- .../minosoft/gui/rendering/world/border/WorldBorderRenderer.kt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/data/world/container/BlockSectionDataProvider.kt b/src/main/java/de/bixilon/minosoft/data/world/container/BlockSectionDataProvider.kt index bf44cf3c9..660ebbd72 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/container/BlockSectionDataProvider.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/container/BlockSectionDataProvider.kt @@ -98,7 +98,7 @@ class BlockSectionDataProvider( return false } - private fun BlockState?.isSolid(): Boolean { + private inline fun BlockState?.isSolid(): Boolean { if (this == null) { return false } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt index fabb4208e..ac9007d55 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/world/border/WorldBorderRenderer.kt @@ -42,6 +42,8 @@ class WorldBorderRenderer( private val border = renderWindow.connection.world.border private lateinit var texture: AbstractTexture private var offsetReset = TimeUtil.millis + override val skipTranslucent: Boolean + get() = border.getDistanceTo(renderWindow.connection.player.position) > MAX_DISTANCE override fun init(latch: CountUpAndDownLatch) { shader.load() @@ -102,6 +104,7 @@ class WorldBorderRenderer( val SHRINKING_COLOR = "#FF3030".asColor() val STATIC_COLOR = "#20A0FF".asColor() const val ANIMATION_SPEED = 2000 + const val MAX_DISTANCE = 1000 private val TEXTURE = "minecraft:misc/forcefield".toResourceLocation().texture()