9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-27 18:59:06 +00:00

Discard before changing entity handle

Fixes crash caused by retiring a bukkit entity multiple times
This commit is contained in:
Samsuik
2024-02-11 14:56:55 +00:00
parent 4c83d74a18
commit 51b4b54fa0
2 changed files with 6 additions and 6 deletions

View File

@@ -178,7 +178,7 @@ index 4a19da041971d9f9031af70ae39798233287b3c9..3ace813ccce8b836edef76a16b92ca99
this.guardEntityTick(this::tickNonPassenger, entity);
gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1bd5db8e0919d126d18e250bb1cb35cb96d63f5c..3362751c6b6afcb45bb46e3d09c79fb6508784da 100644
index 1bd5db8e0919d126d18e250bb1cb35cb96d63f5c..7e3be09c93927530ca17a21b9db3ea8d84547c5e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -575,6 +575,108 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -208,7 +208,7 @@ index 1bd5db8e0919d126d18e250bb1cb35cb96d63f5c..3362751c6b6afcb45bb46e3d09c79fb6
+ stacked = stack;
+ }
+
+ public List<Entity> getMergeList() {
+ public final List<Entity> getMergeList() {
+ return mergeList;
+ }
+
@@ -277,14 +277,14 @@ index 1bd5db8e0919d126d18e250bb1cb35cb96d63f5c..3362751c6b6afcb45bb46e3d09c79fb6
+ mergeList.clear(); // clear the list to stop our tracking when merging
+ stacked = 0; // prevent any possible duplication
+
+ discard();
+
+ // update api handle, this is so cannondebug can function
+ //noinspection ConstantValue
+ if (bukkitEntity != null) {
+ bukkitEntity.setHandle(entity);
+ bukkitEntity = entity.bukkitEntity;
+ }
+
+ discard();
+ }
+ // Sakura end

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] isPushedByFluid API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 225bb97532d494901dfb07582e0f464f9adae6e0..944cb81c4196a4f2c8784d7cc3c600e59e89ef34 100644
index b1df28255b012b9a150475a100dac084d02a6557..0c5fcc73c38ea0ca3633cc6b1751fcadab287760 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -677,6 +677,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
discard();
}
}
// Sakura end
+ public boolean pushedByFluid = true; // Sakura