2019-04-22 23:36:14 +02:00
|
|
|
From 349376a18c6a86ab6bb07513849d403ab6c71669 Mon Sep 17 00:00:00 2001
|
2018-07-19 07:25:18 +02:00
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
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
|
2019-04-22 23:36:14 +02:00
|
|
|
index 98e214cdd6..ee5078370c 100644
|
2018-07-19 07:25:18 +02:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
2019-01-01 04:15:55 +01:00
|
|
|
@@ -634,6 +634,8 @@ public abstract class EntityInsentient extends EntityLiving {
|
2018-07-19 07:25:18 +02:00
|
|
|
if (this.persistent) {
|
|
|
|
this.ticksFarFromPlayer = 0;
|
|
|
|
} else {
|
|
|
|
+ Chunk currentChunk = getChunkAtLocation(); // Paper
|
2018-08-26 20:11:49 +02:00
|
|
|
+ if (currentChunk != null && currentChunk.scheduledForUnload != null) return; // Paper
|
2018-07-19 07:25:18 +02:00
|
|
|
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
|
|
|
|
|
|
|
|
if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
|
|
|
|
--
|
2019-03-20 02:46:00 +01:00
|
|
|
2.21.0
|
2018-07-19 07:25:18 +02:00
|
|
|
|