diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java index f7ec1ea43c..85dc9d42c9 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java @@ -120,16 +120,24 @@ public class BlockFire extends Block { if (random.nextInt(l) < i1) { boolean flag = world.getTypeId(i, j, k) == Block.TNT.id; + // CraftBukkit start: BlockBurnEvent + Server server = ((WorldServer)world).getServer(); + CraftWorld cworld = ((WorldServer)world).getWorld(); + org.bukkit.block.Block theBlock = (cworld.getBlockAt(i, j, k)); + BlockBurnEvent burnEvent = new BlockBurnEvent(theBlock); + server.getPluginManager().callEvent(burnEvent); + if(!burnEvent.isCancelled()) { + if (random.nextInt(2) == 0) { + world.e(i, j, k, this.id); + } else { + world.e(i, j, k, 0); + } - if (random.nextInt(2) == 0) { - world.e(i, j, k, this.id); - } else { - world.e(i, j, k, 0); - } - - if (flag) { - Block.TNT.a(world, i, j, k, 0); + if (flag) { + Block.TNT.a(world, i, j, k, 0); + } } + // CraftBukkit end: BlockBurnEvent } }