diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-04-13 11:47:47 +0100 |
---|---|---|
committer | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-04-13 11:47:47 +0100 |
commit | 85cf593df9a8f6dbdcbd23401f8c5d65003fa6de (patch) | |
tree | c294684a9083f00f9805bc73f100c29b71ecb8b8 /nms-patches/EntitySkeleton.patch | |
parent | 889a5eca6e2f9aef1a381f4a93a6b2a8717645c6 (diff) | |
download | craftbukkit-85cf593df9a8f6dbdcbd23401f8c5d65003fa6de.tar craftbukkit-85cf593df9a8f6dbdcbd23401f8c5d65003fa6de.tar.gz craftbukkit-85cf593df9a8f6dbdcbd23401f8c5d65003fa6de.tar.lz craftbukkit-85cf593df9a8f6dbdcbd23401f8c5d65003fa6de.tar.xz craftbukkit-85cf593df9a8f6dbdcbd23401f8c5d65003fa6de.zip |
SPIGOT-758: Capture head drops from charged creeper kills
Diffstat (limited to 'nms-patches/EntitySkeleton.patch')
-rw-r--r-- | nms-patches/EntitySkeleton.patch | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/nms-patches/EntitySkeleton.patch b/nms-patches/EntitySkeleton.patch index 4f5402ef..b1f340ac 100644 --- a/nms-patches/EntitySkeleton.patch +++ b/nms-patches/EntitySkeleton.patch @@ -1,5 +1,5 @@ ---- /home/matt/mc-dev-private//net/minecraft/server/EntitySkeleton.java 2015-02-26 22:40:22.683608138 +0000 -+++ src/main/java/net/minecraft/server/EntitySkeleton.java 2015-02-26 22:40:22.687608138 +0000 +--- /home/matt/mc-dev-private//net/minecraft/server/EntitySkeleton.java 2015-04-13 11:47:19.083986875 +0100 ++++ src/main/java/net/minecraft/server/EntitySkeleton.java 2015-04-13 11:47:19.083986875 +0100 @@ -2,6 +2,8 @@ import java.util.Calendar; @@ -25,7 +25,43 @@ } } } -@@ -224,11 +233,30 @@ +@@ -112,7 +121,7 @@ + } + + public void die(DamageSource damagesource) { +- super.die(damagesource); ++ // super.die(damagesource); // CraftBukkit + if (damagesource.i() instanceof EntityArrow && damagesource.getEntity() instanceof EntityHuman) { + EntityHuman entityhuman = (EntityHuman) damagesource.getEntity(); + double d0 = entityhuman.locX - this.locX; +@@ -123,16 +132,25 @@ + } + } else if (damagesource.getEntity() instanceof EntityCreeper && ((EntityCreeper) damagesource.getEntity()).isPowered() && ((EntityCreeper) damagesource.getEntity()).cp()) { + ((EntityCreeper) damagesource.getEntity()).cq(); +- this.a(new ItemStack(Items.SKULL, 1, this.getSkeletonType() == 1 ? 1 : 0), 0.0F); ++ // CraftBukkit start ++ // this.a(new ItemStack(Items.SKULL, 1, this.getSkeletonType() == 1 ? 1 : 0), 0.0F); ++ headDrop = new ItemStack(Items.SKULL, 1, this.getSkeletonType() == 1 ? 1 : 0); ++ // CraftBukkit end ++ + } + ++ super.die(damagesource); // CraftBukkit - moved from above ++ + } + ++ /* CraftBukkit start + protected Item getLoot() { + return Items.ARROW; + } ++ // CraftBukkit end */ + + protected void dropDeathLoot(boolean flag, int i) { ++ super.dropDeathLoot(flag, i); // CraftBukkit + int j; + int k; + +@@ -224,11 +242,30 @@ } if (EnchantmentManager.getEnchantmentLevel(Enchantment.ARROW_FIRE.id, this.bA()) > 0 || this.getSkeletonType() == 1) { |