aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0285-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch
diff options
context:
space:
mode:
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.patch29
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
+