From b234153a53c39b4a91ca755edde8a699c75027ae Mon Sep 17 00:00:00 2001 From: Kosma Moczek Date: Fri, 7 Jan 2022 00:59:55 +0100 Subject: [PATCH] fabric-1.17.1: add missing section handling Fixes missing handling introduced in 57d02007ab276db64fa400929e5eb29b9b811713. --- .../java/org/dynmap/fabric_1_17_1/DynmapPlugin.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/DynmapPlugin.java b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/DynmapPlugin.java index 63f7acfd..e37d4cf2 100644 --- a/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/DynmapPlugin.java +++ b/fabric-1.17.1/src/main/java/org/dynmap/fabric_1_17_1/DynmapPlugin.java @@ -713,18 +713,21 @@ public class DynmapPlugin { ChunkPos cp = chunk.getPos(); if (fw != null) { if (!checkIfKnownChunk(fw, cp)) { - int ymax = 0; + int ymax = Integer.MIN_VALUE; + int ymin = Integer.MAX_VALUE; ChunkSection[] sections = chunk.getSectionArray(); for (int i = 0; i < sections.length; i++) { if ((sections[i] != null) && (!sections[i].isEmpty())) { - ymax = 16 * (i + 1); + int sy = sections[i].getYOffset(); + if (sy < ymin) ymin = sy; + if ((sy+16) > ymax) ymax = sy + 16; } } int x = cp.x << 4; int z = cp.z << 4; // If not empty AND not initial scan - if (ymax > 0) { - mapManager.touchVolume(fw.getName(), x, 0, z, x + 15, ymax, z + 16, "chunkgenerate"); + if (ymax != Integer.MIN_VALUE) { + mapManager.touchVolume(fw.getName(), x, ymin, z, x + 15, ymax, z + 15, "chunkgenerate"); } addKnownChunk(fw, cp); }