From 8fc7933953d468a5a9069930ed402079efc09fdc Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 24 Aug 2017 15:18:41 -0400 Subject: [PATCH] LivingEntity#setKiller --- .../LivingEntity-setKiller.patch | 36 +++++++++++++++++++ .../LivingEntity-setKiller.patch | 28 +++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 Spigot-API-Patches/LivingEntity-setKiller.patch create mode 100644 Spigot-Server-Patches/LivingEntity-setKiller.patch diff --git a/Spigot-API-Patches/LivingEntity-setKiller.patch b/Spigot-API-Patches/LivingEntity-setKiller.patch new file mode 100644 index 0000000000..e5beed2d76 --- /dev/null +++ b/Spigot-API-Patches/LivingEntity-setKiller.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Mon, 31 Jul 2017 01:49:43 -0500 +Subject: [PATCH] LivingEntity#setKiller + + +diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java +index be51e389..4a51c519 100644 +--- a/src/main/java/org/bukkit/entity/LivingEntity.java ++++ b/src/main/java/org/bukkit/entity/LivingEntity.java +@@ -0,0 +0,0 @@ import org.bukkit.potion.PotionEffect; + import org.bukkit.potion.PotionEffectType; + import org.bukkit.projectiles.ProjectileSource; + ++import javax.annotation.Nullable; ++ + /** + * Represents a living entity, such as a monster or player + */ +@@ -0,0 +0,0 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti + */ + public Player getKiller(); + ++ // Paper start ++ /** ++ * Sets the player identified as the killer of the living entity. ++ * ++ * @param killer player ++ */ ++ public void setKiller(@Nullable Player killer); ++ // Paper end ++ + /** + * Adds the given {@link PotionEffect} to the living entity. + *

+-- \ No newline at end of file diff --git a/Spigot-Server-Patches/LivingEntity-setKiller.patch b/Spigot-Server-Patches/LivingEntity-setKiller.patch new file mode 100644 index 0000000000..83e3b672b1 --- /dev/null +++ b/Spigot-Server-Patches/LivingEntity-setKiller.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Mon, 31 Jul 2017 01:49:48 -0500 +Subject: [PATCH] LivingEntity#setKiller + + +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +index 1eafdecb4..f81622a34 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +@@ -0,0 +0,0 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + return getHandle().killer == null ? null : (Player) getHandle().killer.getBukkitEntity(); + } + ++ // Paper start ++ @Override ++ public void setKiller(Player killer) { ++ EntityPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); ++ getHandle().killer = entityPlayer; ++ getHandle().lastDamager = entityPlayer; ++ getHandle().lastDamageByPlayerTime = entityPlayer == null ? 0 : 100; // 100 value taken from EntityLiving#damageEntity ++ } ++ // Paper end ++ + public boolean addPotionEffect(PotionEffect effect) { + return addPotionEffect(effect, false); + } +-- \ No newline at end of file