From 0504882afda76d9858627ddcd2b03692e28bb847 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 20 Dec 2023 07:45:21 -0600 Subject: [PATCH] Fix ocean lighting grid issue --- .../BatchGenerationEnvironment.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java index 0ba131419..59cc24b62 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java @@ -648,7 +648,19 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv int maxSkyLight = this.serverlevel.getServerLevelWrapper().hasSkyLight() ? 15 : 0; - ArrayList iChunkWrapperList = new ArrayList<>(chunksToGenerate); + // only light generated chunks, + // attempting to light un-generated chunks will cause lighting issues on bordering generated chunks + ArrayList iChunkWrapperList = new ArrayList<>(); + for (int i = 0; i < chunksToGenerate.size(); i++) // regular for loop since enhanced for loops increase GC pressure slightly + { + ChunkWrapper chunkWrapper = chunksToGenerate.get(i); + if (chunkWrapper.getChunk().getStatus() != ChunkStatus.EMPTY) + { + iChunkWrapperList.add(chunkWrapper); + } + } + + // light each chunk in the list for (int i = 0; i < iChunkWrapperList.size(); i++) { IChunkWrapper centerChunk = iChunkWrapperList.get(i);