From 4b517244a2a21c7934ef699cb4e67e9c4d541974 Mon Sep 17 00:00:00 2001 From: MrGazdag <44264503+MrGazdag@users.noreply.github.com> Date: Fri, 23 Jul 2021 18:20:01 +0200 Subject: [PATCH] Fix incorrect coordinate encoding --- .../minestom/server/instance/batch/RelativeBlockBatch.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minestom/server/instance/batch/RelativeBlockBatch.java b/src/main/java/net/minestom/server/instance/batch/RelativeBlockBatch.java index 4af6ae084..868f49904 100644 --- a/src/main/java/net/minestom/server/instance/batch/RelativeBlockBatch.java +++ b/src/main/java/net/minestom/server/instance/batch/RelativeBlockBatch.java @@ -69,9 +69,9 @@ public class RelativeBlockBatch implements Batch { Check.argCondition(Math.abs(y) > Short.MAX_VALUE, "Relative y position may not be more than 16 bits long."); Check.argCondition(Math.abs(z) > Short.MAX_VALUE, "Relative z position may not be more than 16 bits long."); - long pos = x; - pos = (pos << 16) | (short) y; - pos = (pos << 16) | (short) z; + long pos = Short.toUnsignedLong((short)x); + pos = (pos << 16) | Short.toUnsignedLong((short)y); + pos = (pos << 16) | Short.toUnsignedLong((short)z); //final int block = (blockStateId << 16) | customBlockId; synchronized (blockIdMap) {