From 8133b92590c9b861b7342bcc1079c23f2e106450 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 6e37c4366..ea24a6e4c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1770,7 +1770,7 @@ public abstract class World implements IBlockAccess { } 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.aa || entity.ab != i || entity.ac != j || entity.ad != k) { @@ -1778,7 +1778,7 @@ public abstract class World implements IBlockAccess { this.getChunkAt(entity.ab, entity.ad).a(entity, entity.ac); } - if (!entity.bD() && !this.isChunkLoaded(i, k, true)) { + if (false && !entity.bD() && !this.isChunkLoaded(i, k, true)) { // Paper - Always send entities into a new chunk, never lose them entity.aa = false; } else { this.getChunkAt(i, k).a(entity); -- 2.18.0