From 6a4c510df4efb0e4773b65f1824985b529188161 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:56:19 -0400 Subject: [PATCH] add a chunk registration fix World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is treated Keep them consistent --- .../0173-Chunk-registration-fixes.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Spigot-Server-Patches/0173-Chunk-registration-fixes.patch diff --git a/Spigot-Server-Patches/0173-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0173-Chunk-registration-fixes.patch new file mode 100644 index 000000000..f27ba55b4 --- /dev/null +++ b/Spigot-Server-Patches/0173-Chunk-registration-fixes.patch @@ -0,0 +1,25 @@ +From 13e68d27421f3691be5abae087a12fe87612a032 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 21 Sep 2016 22:54:28 -0400 +Subject: [PATCH] Chunk registration fixes + +World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is treated + +Keep them consistent + +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 383eef2..b026e2b 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -1761,7 +1761,7 @@ public abstract class World implements IBlockAccess { + } + + int k = MathHelper.floor(entity.locX / 16.0D); +- int l = MathHelper.floor(entity.locY / 16.0D); ++ int l = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior + int i1 = MathHelper.floor(entity.locZ / 16.0D); + + if (!entity.ab || entity.ac != k || entity.ad != l || entity.ae != i1) { +-- +2.9.3 +