diff --git a/Spigot-Server-Patches/0363-Improve-death-events.patch b/Spigot-Server-Patches/0363-Improve-death-events.patch index 6863d64b9..8ed2cb7c5 100644 --- a/Spigot-Server-Patches/0363-Improve-death-events.patch +++ b/Spigot-Server-Patches/0363-Improve-death-events.patch @@ -1,4 +1,4 @@ -From 53605f51ade300b443bfcb5b147499ce9397b8b6 Mon Sep 17 00:00:00 2001 +From 399e9456e54ee49d7bccb7ef65aa3dc3172237ae Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 63bdb96db8..96dd1a7fa4 100644 +index 63bdb96db..96dd1a7fa 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -163,6 +163,7 @@ public class CombatTracker { @@ -27,7 +27,7 @@ index 63bdb96db8..96dd1a7fa4 100644 int i = this.f ? 300 : 100; if (this.g && (!this.b.isAlive() || this.b.ticksLived - this.c > i)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bcd7af059e..f6c43bab46 100644 +index bcd7af059..f6c43bab4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1538,6 +1538,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -55,7 +55,7 @@ index bcd7af059e..f6c43bab46 100644 return SoundCategory.NEUTRAL; } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 35afffedef..e8e7413748 100644 +index 35afffede..e8e741374 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -629,7 +629,8 @@ public class EntityArmorStand extends EntityLiving { @@ -69,7 +69,7 @@ index 35afffedef..e8e7413748 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 890a3a02bd..fec7bf0a5d 100644 +index 890a3a02b..4aea8e4c7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -76,14 +76,14 @@ public abstract class EntityLiving extends Entity { @@ -140,7 +140,7 @@ index 890a3a02bd..fec7bf0a5d 100644 - this.aX = true; - this.getCombatTracker().g(); -+ //this.aX = true; ++ this.aX = true; // Paper - Always set at start, unset later if cancelled - GH-1432 + //this.getCombatTracker().g(); + + org.bukkit.event.entity.EntityDeathEvent deathEvent = null; @@ -148,7 +148,7 @@ index 890a3a02bd..fec7bf0a5d 100644 if (!this.world.isClientSide) { int i = 0; -@@ -1227,15 +1236,32 @@ public abstract class EntityLiving extends Entity { +@@ -1227,15 +1236,33 @@ public abstract class EntityLiving extends Entity { this.a(flag, i, damagesource); // CraftBukkit start - Call death event @@ -178,13 +178,14 @@ index 890a3a02bd..fec7bf0a5d 100644 + this.setDying(true); + this.world.broadcastEntityEffect(this, (byte) 3); + } else { ++ this.setDying(false); // Paper - reset if cancelled + this.setHealth((float) deathEvent.getReviveHealth()); + } + // Paper end } } -@@ -1289,6 +1315,7 @@ public abstract class EntityLiving extends Entity { +@@ -1289,6 +1316,7 @@ public abstract class EntityLiving extends Entity { return SoundEffects.ENTITY_GENERIC_HURT; } @@ -192,7 +193,7 @@ index 890a3a02bd..fec7bf0a5d 100644 @Nullable protected SoundEffect cs() { return SoundEffects.ENTITY_GENERIC_DEATH; -@@ -1706,10 +1733,12 @@ public abstract class EntityLiving extends Entity { +@@ -1706,10 +1734,12 @@ public abstract class EntityLiving extends Entity { } @@ -206,7 +207,7 @@ index 890a3a02bd..fec7bf0a5d 100644 return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 68f5842cfe..5ab4e01edf 100644 +index 68f5842cf..5ab4e01ed 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -257,7 +258,7 @@ index 68f5842cfe..5ab4e01edf 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 17fab031b4..ee8219e3ba 100644 +index 17fab031b..ee8219e3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java @@ -674,6 +674,22 @@ public enum CraftSound { @@ -284,7 +285,7 @@ index 17fab031b4..ee8219e3ba 100644 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b6cf96e187..96232aa078 100644 +index b6cf96e18..96232aa07 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1711,7 +1711,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -305,7 +306,7 @@ index b6cf96e187..96232aa078 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ef8e7c6f64..83e9a60228 100644 +index ef8e7c6f6..83e9a6022 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -425,9 +425,16 @@ public class CraftEventFactory { @@ -374,5 +375,5 @@ index ef8e7c6f64..83e9a60228 100644 * Server methods */ -- -2.18.0 +2.19.0