Merge branch 'master' into pre/1.13

* master:
  Always process chunk registration after moving
  Always move Entity to its new Chunk even if unloaded
  If Entity is added to chunk, look up the chunk if current isnt set
  Ignore Dead Entities in entityList iteration
  Always process chunk removal in removeEntity
This commit is contained in:
Aikar
2018-07-29 13:12:39 -04:00
5 changed files with 209 additions and 6 deletions

View File

@@ -8,7 +8,7 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
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..20e52fbcc 100644
index e74b53c48..01041ede9 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
@@ -20,4 +20,13 @@ index e74b53c48..20e52fbcc 100644
int k = MathHelper.floor(entity.locZ / 16.0D);
if (!entity.inChunk || entity.ae != i || entity.af != j || entity.ag != k) {
@@ -0,0 +0,0 @@ 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);
--