From f065271ac75165203c416e1b931ec441e07160cb Mon Sep 17 00:00:00 2001 From: DerFrZocker Date: Thu, 5 Oct 2023 13:12:41 +0200 Subject: [PATCH] SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld --- src/main/java/org/bukkit/craftbukkit/CraftChunk.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java index 08aac8734..00826c67e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -316,14 +316,14 @@ public class CraftChunk implements Chunk { sectionBlockIDs[i] = ChunkRegionLoader.BLOCK_STATE_CODEC.parse(DynamicOpsNBT.INSTANCE, data.getCompound("block_states")).get().left().get(); LevelLightEngine lightengine = worldServer.getLightEngine(); - NibbleArray skyLightArray = lightengine.getLayerListener(EnumSkyBlock.SKY).getDataLayerData(SectionPosition.of(x, i, z)); + NibbleArray skyLightArray = lightengine.getLayerListener(EnumSkyBlock.SKY).getDataLayerData(SectionPosition.of(x, chunk.getSectionYFromSectionIndex(i), z)); // SPIGOT-7498: Convert section index if (skyLightArray == null) { sectionSkyLights[i] = emptyLight; } else { sectionSkyLights[i] = new byte[2048]; System.arraycopy(skyLightArray.getData(), 0, sectionSkyLights[i], 0, 2048); } - NibbleArray emitLightArray = lightengine.getLayerListener(EnumSkyBlock.BLOCK).getDataLayerData(SectionPosition.of(x, i, z)); + NibbleArray emitLightArray = lightengine.getLayerListener(EnumSkyBlock.BLOCK).getDataLayerData(SectionPosition.of(x, chunk.getSectionYFromSectionIndex(i), z)); // SPIGOT-7498: Convert section index if (emitLightArray == null) { sectionEmitLights[i] = emptyLight; } else {