aboutsummaryrefslogtreecommitdiffhomepage
path: root/CraftBukkit-Patches/0047-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch
diff options
context:
space:
mode:
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-.patch35
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
+