diff options
Diffstat (limited to 'Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch')
-rw-r--r-- | Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch new file mode 100644 index 0000000000..a52a446c32 --- /dev/null +++ b/Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -0,0 +1,29 @@ +From 349376a18c6a86ab6bb07513849d403ab6c71669 Mon Sep 17 00:00:00 2001 +From: Aikar <[email protected]> +Date: Thu, 19 Jul 2018 01:23:00 -0400 +Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for + unload + +This won't happen anyways if the user has +"skip ticking for entities in chunks scheduled for unload" turned on, +but if they don't, protect from this instant killing the entity to +keep it vanilla in behavior + +a player may teleport away, and trigger instant despawn + +diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java +index 98e214cdd6..ee5078370c 100644 +--- a/src/main/java/net/minecraft/server/EntityInsentient.java ++++ b/src/main/java/net/minecraft/server/EntityInsentient.java +@@ -634,6 +634,8 @@ public abstract class EntityInsentient extends EntityLiving { + if (this.persistent) { + this.ticksFarFromPlayer = 0; + } else { ++ Chunk currentChunk = getChunkAtLocation(); // Paper ++ if (currentChunk != null && currentChunk.scheduledForUnload != null) return; // Paper + EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D); + + if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API +-- +2.21.0 + |