diff --git a/Spigot-Server-Patches/Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch new file mode 100644 index 000000000..466f89142 --- /dev/null +++ b/Spigot-Server-Patches/Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aikar +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 89e878365..d6a1933ad 100644 +--- a/src/main/java/net/minecraft/server/EntityInsentient.java ++++ b/src/main/java/net/minecraft/server/EntityInsentient.java +@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving { + if (this.persistent) { + this.ticksFarFromPlayer = 0; + } else { ++ Chunk currentChunk = getChunkAtLocation(); // Paper ++ if (currentChunk != null && (currentChunk.isUnloading() || currentChunk.scheduledForUnload != null)) return; // Paper + EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D); + + if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API +-- \ No newline at end of file