Fix entity equipment on cancellation of EntityDeathEvent (#5740)

This commit is contained in:
Jake Potrebic 2021-12-08 10:25:57 -08:00 committed by GitHub
parent 33ea869a65
commit 74fd151adc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 151 additions and 73 deletions

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add dropLeash variable to EntityUnleashEvent
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 63b0044a86e6830ccf9d6da8e29989de1402dff4..68da2530db8b0fcdba957ee90c185324a010919f 100644
index 341614d0f0df4008a443d9cda400d0c0103af90a..0909d3cd41fa8c8fe971e1a6c5a67bab7e0a3dc9 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1228,12 +1228,15 @@ public abstract class Mob extends LivingEntity {
@@ -1230,12 +1230,15 @@ public abstract class Mob extends LivingEntity {
return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) {
// CraftBukkit start - fire PlayerUnleashEntityEvent
@ -26,7 +26,7 @@ index 63b0044a86e6830ccf9d6da8e29989de1402dff4..68da2530db8b0fcdba957ee90c185324
return InteractionResult.sidedSuccess(this.level.isClientSide);
} else {
InteractionResult enuminteractionresult = this.checkAndHandleImportantInteractions(player, hand);
@@ -1391,8 +1394,11 @@ public abstract class Mob extends LivingEntity {
@@ -1393,8 +1396,11 @@ public abstract class Mob extends LivingEntity {
if (this.leashHolder != null) {
if (!this.isAlive() || !this.leashHolder.isAlive()) {
@ -40,7 +40,7 @@ index 63b0044a86e6830ccf9d6da8e29989de1402dff4..68da2530db8b0fcdba957ee90c185324
}
}
@@ -1455,8 +1461,11 @@ public abstract class Mob extends LivingEntity {
@@ -1457,8 +1463,11 @@ public abstract class Mob extends LivingEntity {
boolean flag1 = super.startRiding(entity, force);
if (flag1 && this.isLeashed()) {
@ -54,7 +54,7 @@ index 63b0044a86e6830ccf9d6da8e29989de1402dff4..68da2530db8b0fcdba957ee90c185324
}
return flag1;
@@ -1626,8 +1635,11 @@ public abstract class Mob extends LivingEntity {
@@ -1628,8 +1637,11 @@ public abstract class Mob extends LivingEntity {
@Override
protected void removeAfterChangingDimensions() {
super.removeAfterChangingDimensions();
@ -122,10 +122,10 @@ index cf932116a0cafd315e44159fbf7c5d25d43782ff..03bda898a5a263053ecd79f74799d370
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index eda17a60afd6cf03e58e66b2dbfe414b1cfac9d5..5931cf0c05ca22f72a465d096dfb60508d84b859 100644
index da0a74415dcaddc3f692106faf11403e27feee80..afb6eb856d22845716351d5be7eff5991da72dd3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1489,8 +1489,10 @@ public class CraftEventFactory {
@@ -1495,8 +1495,10 @@ public class CraftEventFactory {
return itemInHand;
}