f835a91d15
Upstream has added the equivalent of our SentientNPC API, with exception to the EnderDragon. We've added Mob to the EnderDragon, and our SentientNPC API should behave the same. Vex#getOwner has been deprecated and a replacement Vex#getSummoner has been added using Mob. However, since 1.13 is not production ready, SentientNPC API is subject for removal in 1.13.1 since 1.13 API is not compatible with 1.12. Please move to the Mob interface ASAP. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: c5ab54d8 Expand GameRule API ab9a606c Improve entity hierarchy by adding Mob interface. CraftBukkit Changes: 29e75648 Expand GameRule API 50e6858b Improve entity hierarchy by adding Mob interface. 0e1d79b4 Correct error in previous patch
29 lines
1.3 KiB
Diff
29 lines
1.3 KiB
Diff
From f2169f630da6dee6fe001e160ac9c7802f26258c Mon Sep 17 00:00:00 2001
|
|
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
|
|
index 14d122b22b..7b64ec27c3 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
@@ -617,6 +617,8 @@ 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
|
|
--
|
|
2.18.0
|
|
|