From c77ae6f712e3d8402a0aafe3e543cae5b24754d9 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 e74b53c48..01041ede9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1485,7 +1485,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose } i = MathHelper.floor(entity.locX / 16.0D); - j = MathHelper.floor(entity.locY / 16.0D); + j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior int k = MathHelper.floor(entity.locZ / 16.0D); if (!entity.inChunk || entity.ae != i || entity.af != j || entity.ag != k) { @@ -1493,7 +1493,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose this.getChunkAt(entity.ae, entity.ag).a(entity, entity.af); } - if (!entity.bN() && !this.isChunkLoaded(i, k, true)) { + if (false && !entity.bN() && !this.isChunkLoaded(i, k, true)) { // Paper - Always send entities into a new chunk, never lose them entity.inChunk = false; } else { this.getChunkAt(i, k).a(entity); -- 2.18.0