diff options
Diffstat (limited to 'CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch')
-rw-r--r-- | CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch b/CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch new file mode 100644 index 0000000000..abab620cf2 --- /dev/null +++ b/CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch @@ -0,0 +1,35 @@ +From ecfc6f73bd1ad49d920925453c603845c9e98f11 Mon Sep 17 00:00:00 2001 +From: BlackHole <[email protected]> +Date: Tue, 16 Jul 2013 22:34:50 +0200 +Subject: [PATCH] Call EntityChangeBlockEvent for Fire Arrows hitting TNT + +Adds BUKKIT-4355 + +diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java +index 8cc7d5e..35bf1a3 100644 +--- a/src/main/java/net/minecraft/server/BlockTNT.java ++++ b/src/main/java/net/minecraft/server/BlockTNT.java +@@ -54,7 +54,7 @@ public class BlockTNT extends Block { + + public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman, int l, float f, float f1, float f2) { + if (entityhuman.bF() != null && entityhuman.bF().getItem() == Items.FLINT_AND_STEEL) { +- this.a(world, i, j, k, 1, entityhuman); ++ this.a(world, i, j, k, 1, (EntityLiving) entityhuman); // Spigot - Fix decompile error! + world.setAir(i, j, k); + entityhuman.bF().damage(1, entityhuman); + return true; +@@ -68,6 +68,11 @@ public class BlockTNT extends Block { + EntityArrow entityarrow = (EntityArrow) entity; + + if (entityarrow.isBurning()) { ++ // CraftBukkit start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entityarrow, i, j, k, Blocks.AIR, 0).isCancelled()) { ++ return; ++ } ++ // CraftBukkit end + this.a(world, i, j, k, 1, entityarrow.shooter instanceof EntityLiving ? (EntityLiving) entityarrow.shooter : null); + world.setAir(i, j, k); + } +-- +1.9.1 + |