35 lines
1.5 KiB
Diff
35 lines
1.5 KiB
Diff
From c77ae6f712e3d8402a0aafe3e543cae5b24754d9 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
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
|
|
|