From 15e80ed063b7f6d9ddb60b7ea8251e99da4f5762 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 14 Oct 2021 02:29:42 +0200 Subject: [PATCH] ceiled dimension now have 64 max render distance + various small changes --- .../java/com/seibel/lod/objects/VerticalLevelContainer.java | 6 ------ src/main/java/com/seibel/lod/proxy/ClientProxy.java | 2 +- src/main/java/com/seibel/lod/render/LodRenderer.java | 5 ++++- src/main/java/com/seibel/lod/util/LodUtil.java | 1 + 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/seibel/lod/objects/VerticalLevelContainer.java b/src/main/java/com/seibel/lod/objects/VerticalLevelContainer.java index 450306c01..87c256f41 100644 --- a/src/main/java/com/seibel/lod/objects/VerticalLevelContainer.java +++ b/src/main/java/com/seibel/lod/objects/VerticalLevelContainer.java @@ -267,10 +267,4 @@ public class VerticalLevelContainer implements LevelContainer { return size * size * getMaxVerticalData(); } - - @Override - public int getMaxMemoryUse() - { - return getMaxNumberOfLods() * 2; //2 byte - } } diff --git a/src/main/java/com/seibel/lod/proxy/ClientProxy.java b/src/main/java/com/seibel/lod/proxy/ClientProxy.java index fc1e4dee2..a929ceb69 100644 --- a/src/main/java/com/seibel/lod/proxy/ClientProxy.java +++ b/src/main/java/com/seibel/lod/proxy/ClientProxy.java @@ -327,7 +327,7 @@ public class ClientProxy // calculate how wide the dimension(s) should be in regions int chunksWide; if (mc.getClientWorld().dimensionType().hasCeiling()) - chunksWide = Math.max(LodConfig.CLIENT.graphics.lodChunkRenderDistance.get(), 64) * 2 + 1; + chunksWide = Math.min(LodConfig.CLIENT.graphics.lodChunkRenderDistance.get(), LodUtil.CEILED_DIMENSION_MAX_RENDER_DISTANCE) * 2 + 1; else chunksWide = LodConfig.CLIENT.graphics.lodChunkRenderDistance.get() * 2 + 1; diff --git a/src/main/java/com/seibel/lod/render/LodRenderer.java b/src/main/java/com/seibel/lod/render/LodRenderer.java index 2954fd6f4..ea2531a89 100644 --- a/src/main/java/com/seibel/lod/render/LodRenderer.java +++ b/src/main/java/com/seibel/lod/render/LodRenderer.java @@ -238,7 +238,10 @@ public class LodRenderer Matrix4f modelViewMatrix = offsetTheModelViewMatrix(mcMatrixStack, partialTicks); // required for setupFog and setupProjectionMatrix - farPlaneBlockDistance = LodConfig.CLIENT.graphics.lodChunkRenderDistance.get() * LodUtil.CHUNK_WIDTH; + if (mc.getClientWorld().dimensionType().hasCeiling()) + farPlaneBlockDistance = Math.min(LodConfig.CLIENT.graphics.lodChunkRenderDistance.get(), LodUtil.CEILED_DIMENSION_MAX_RENDER_DISTANCE) * LodUtil.CHUNK_WIDTH; + else + farPlaneBlockDistance = LodConfig.CLIENT.graphics.lodChunkRenderDistance.get() * LodUtil.CHUNK_WIDTH; setupProjectionMatrix(mcProjectionMatrix, partialTicks); // commented out until we can add shaders to handle lighting diff --git a/src/main/java/com/seibel/lod/util/LodUtil.java b/src/main/java/com/seibel/lod/util/LodUtil.java index 9781c5f5f..45a8f5bbd 100644 --- a/src/main/java/com/seibel/lod/util/LodUtil.java +++ b/src/main/java/com/seibel/lod/util/LodUtil.java @@ -72,6 +72,7 @@ public class LodUtil public static final Color COLOR_DEBUG_WHITE = new Color(255, 255, 255, DEBUG_ALPHA); public static final Color COLOR_INVISIBLE = new Color(0, 0, 0, 0); + public static final int CEILED_DIMENSION_MAX_RENDER_DISTANCE = 64; // 0 - 255 /** * In order of nearest to farthest: