From c1fda715d082aa8d9d47deed80ab09376b3ef24a Mon Sep 17 00:00:00 2001 From: James Seibel Date: Mon, 11 Sep 2023 07:26:09 -0500 Subject: [PATCH] Improve LOD Building and Lighting speed for BigGlobe worlds Thanks Builderb0y! --- .../common/wrappers/chunk/ChunkWrapper.java | 16 ++++++++++++++++ coreSubProjects | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java index dab14002e..70d81e48b 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java @@ -31,6 +31,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.chunk.IChunkWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IBiomeWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; +import com.seibel.distanthorizons.coreapi.util.BitShiftUtil; import net.minecraft.client.multiplayer.ClientChunkCache; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.BlockPos; @@ -149,6 +150,21 @@ public class ChunkWrapper implements IChunkWrapper @Override public int getMaxBuildHeight() { return this.chunk.getMaxBuildHeight(); } + @Override + public int getMinFilledHeight() + { + LevelChunkSection[] sections = this.chunk.getSections(); + for (int index = 0; index < sections.length; index++) + { + if (!sections[index].hasOnlyAir()) + { + // convert from an index to a block coordinate + return this.chunk.getSectionYFromSectionIndex(index) * 16; + } + } + return Integer.MAX_VALUE; + } + @Override public int getSolidHeightMapValue(int xRel, int zRel) { return this.chunk.getOrCreateHeightmapUnprimed(Heightmap.Types.WORLD_SURFACE).getFirstAvailable(xRel, zRel); } diff --git a/coreSubProjects b/coreSubProjects index d3865551a..5ec874d4a 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit d3865551a56b94b7fde500d09c1a181fafe1a827 +Subproject commit 5ec874d4a0df3e81767c210e62feac41334503af