From 2ef6bf35a564632b5be09548d7a7b3f79fcb35d2 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Sun, 5 Dec 2021 14:35:48 -0600 Subject: [PATCH] Handle negative Y chunks from 1.17 in 1.18 code --- .../java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java | 2 +- .../main/java/org/dynmap/fabric_1_18/FabricMapChunkCache.java | 2 +- .../src/main/java/org/dynmap/forge_1_18/ForgeMapChunkCache.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java b/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java index 6dc7fbcc..242aba25 100644 --- a/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java +++ b/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java @@ -223,7 +223,7 @@ public class MapChunkCache118 extends GenericMapChunkCache { } else { // Else, apply legacy biomes if (old3d != null) { - BiomeMap m[] = old3d.get(secnum); + BiomeMap m[] = old3d.get((secnum > 0) ? ((secnum < old3d.size()) ? secnum : old3d.size()-1) : 0); if (m != null) { for (int j = 0; j < 64; j++) { sbld.xyzBiome(j & 0x3, (j & 0x30) >> 4, (j & 0xC) >> 2, m[j]); diff --git a/fabric-1.18/src/main/java/org/dynmap/fabric_1_18/FabricMapChunkCache.java b/fabric-1.18/src/main/java/org/dynmap/fabric_1_18/FabricMapChunkCache.java index 038fb910..3a649719 100644 --- a/fabric-1.18/src/main/java/org/dynmap/fabric_1_18/FabricMapChunkCache.java +++ b/fabric-1.18/src/main/java/org/dynmap/fabric_1_18/FabricMapChunkCache.java @@ -265,7 +265,7 @@ public class FabricMapChunkCache extends GenericMapChunkCache { } else { // Else, apply legacy biomes if (old3d != null) { - BiomeMap m[] = old3d.get(secnum); + BiomeMap m[] = old3d.get((secnum > 0) ? ((secnum < old3d.size()) ? secnum : old3d.size()-1) : 0); if (m != null) { for (int j = 0; j < 64; j++) { sbld.xyzBiome(j & 0x3, (j & 0x30) >> 4, (j & 0xC) >> 2, m[j]); diff --git a/forge-1.18/src/main/java/org/dynmap/forge_1_18/ForgeMapChunkCache.java b/forge-1.18/src/main/java/org/dynmap/forge_1_18/ForgeMapChunkCache.java index 64a9a877..849c63f0 100644 --- a/forge-1.18/src/main/java/org/dynmap/forge_1_18/ForgeMapChunkCache.java +++ b/forge-1.18/src/main/java/org/dynmap/forge_1_18/ForgeMapChunkCache.java @@ -230,7 +230,7 @@ public class ForgeMapChunkCache extends GenericMapChunkCache { } else { // Else, apply legacy biomes if (old3d != null) { - BiomeMap m[] = old3d.get(secnum); + BiomeMap m[] = old3d.get((secnum > 0) ? ((secnum < old3d.size()) ? secnum : old3d.size()-1) : 0); if (m != null) { for (int j = 0; j < 64; j++) { sbld.xyzBiome(j & 0x3, (j & 0x30) >> 4, (j & 0xC) >> 2, m[j]);