From 75cb198fd2a5f3f6a246dc4eaff07267bcea145f Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 24 Aug 2017 15:18:41 -0400 Subject: [PATCH] LivingEntity#setKiller --- .../0066-LivingEntity-setKiller.patch | 38 +++++++++++++++++++ .../0235-LivingEntity-setKiller.patch | 30 +++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 Spigot-API-Patches/0066-LivingEntity-setKiller.patch create mode 100644 Spigot-Server-Patches/0235-LivingEntity-setKiller.patch diff --git a/Spigot-API-Patches/0066-LivingEntity-setKiller.patch b/Spigot-API-Patches/0066-LivingEntity-setKiller.patch new file mode 100644 index 0000000000..8cc14fa1d8 --- /dev/null +++ b/Spigot-API-Patches/0066-LivingEntity-setKiller.patch @@ -0,0 +1,38 @@ +From b97b934d735fcb6dceca929737d660db73602ccd 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 +@@ -14,6 +14,8 @@ 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 + */ +@@ -169,6 +171,15 @@ 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. + *

+-- +2.14.1.windows.1 + diff --git a/Spigot-Server-Patches/0235-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0235-LivingEntity-setKiller.patch new file mode 100644 index 0000000000..3ad4c73332 --- /dev/null +++ b/Spigot-Server-Patches/0235-LivingEntity-setKiller.patch @@ -0,0 +1,30 @@ +From 2b31d6190696de739cbbf6f5450d4fb2d3cc4117 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 +@@ -256,6 +256,16 @@ 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); + } +-- +2.14.1.windows.1 +