Fire EntityRemovedFromWorldEvent for all entities (Fixes #2282)
This commit is contained in:
@@ -5,9 +5,18 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 559dee777..bd5b16299 100644
|
||||
index 559dee777..00b1f21f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
if (entity instanceof EntityInsentient) {
|
||||
this.H.remove(((EntityInsentient) entity).getNavigation());
|
||||
}
|
||||
-
|
||||
+ new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
entity.valid = false; // CraftBukkit
|
||||
}
|
||||
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
entity.origin = entity.getBukkitEntity().getLocation();
|
||||
}
|
||||
@@ -16,12 +25,4 @@ index 559dee777..bd5b16299 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
if (this.tickingEntities) {
|
||||
throw new IllegalStateException("Removing entity while ticking!");
|
||||
} else {
|
||||
+ new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
this.removeEntityFromChunk(entity);
|
||||
this.entitiesById.remove(entity.getId());
|
||||
this.unregisterEntity(entity);
|
||||
--
|
||||
Reference in New Issue
Block a user