From 8390cfc6fb96815a5cc7e0bf76d975b0a6e2fe79 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Wed, 23 Jun 2021 19:31:41 -0500 Subject: [PATCH] Fix block positions not wrapping around correctly --- .../java/com/seibel/lod/builders/LodServerWorld.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/seibel/lod/builders/LodServerWorld.java b/src/main/java/com/seibel/lod/builders/LodServerWorld.java index 43e5b5f9c..456e0d5fa 100644 --- a/src/main/java/com/seibel/lod/builders/LodServerWorld.java +++ b/src/main/java/com/seibel/lod/builders/LodServerWorld.java @@ -56,8 +56,15 @@ public class LodServerWorld implements ISeedReader { @Override - public int getHeight(Type heightmapType, int x, int z) { - return chunk.getHeightmap(Type.WORLD_SURFACE_WG).getHeight(Math.abs(x % LodChunk.WIDTH), Math.abs(z % LodChunk.WIDTH)); + public int getHeight(Type heightmapType, int x, int z) + { + x = x % LodChunk.WIDTH; + x = (x < 0) ? x + 16 : x; + + z = z % LodChunk.WIDTH; + z = (z < 0) ? z + 16 : z; + + return chunk.getHeightmap(Type.WORLD_SURFACE_WG).getHeight(x, z); } @Override