diff --git a/src/main/java/net/minecraft/server/ItemFlintAndSteel.java b/src/main/java/net/minecraft/server/ItemFlintAndSteel.java index 5a2f9d430b..de365d03c6 100644 --- a/src/main/java/net/minecraft/server/ItemFlintAndSteel.java +++ b/src/main/java/net/minecraft/server/ItemFlintAndSteel.java @@ -5,6 +5,7 @@ import org.bukkit.craftbukkit.CraftItemStack; import org.bukkit.craftbukkit.CraftPlayer; import org.bukkit.event.Event.Type; import org.bukkit.event.player.PlayerItemEvent; +import org.bukkit.event.block.BlockIgniteEvent; public class ItemFlintAndSteel extends Item { @@ -46,12 +47,16 @@ public class ItemFlintAndSteel extends Item { CraftItemStack itemInHand = new CraftItemStack(itemstack); CraftPlayer thePlayer = new CraftPlayer(((WorldServer) world).getServer(), (EntityPlayerMP) entityplayer); PlayerItemEvent pie = new PlayerItemEvent(Type.PLAYER_ITEM, thePlayer, itemInHand, blockClicked, CraftBlock.notchToBlockFace(l)); - ((WorldServer) world).getServer().getPluginManager().callEvent(pie); + org.bukkit.Block pblock = (((WorldServer) world).getWorld().getBlockAt(i, j, k)); + BlockIgniteEvent bie = new BlockIgniteEvent((org.bukkit.Block) pblock, BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, thePlayer); + ((WorldServer) world).getServer().getPluginManager().callEvent(bie); + boolean preventLighter = pie.isCancelled(); + boolean preventFire = bie.isCancelled(); - if (preventLighter) { + if (preventLighter || preventFire) { return false; } else { world.a((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D, "fire.ignite", 1.0F, b.nextFloat() * 0.4F + 0.8F); diff --git a/src/main/java/net/minecraft/server/ItemFlintAndSteel_1.java b/src/main/java/net/minecraft/server/ItemFlintAndSteel_1.java deleted file mode 100644 index ab017d6851..0000000000 --- a/src/main/java/net/minecraft/server/ItemFlintAndSteel_1.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.minecraft.server; - -import org.bukkit.craftbukkit.CraftBlock; -import org.bukkit.craftbukkit.CraftItemStack; -import org.bukkit.craftbukkit.CraftPlayer; -import org.bukkit.event.Event.Type; -import org.bukkit.event.player.PlayerItemEvent; -import org.bukkit.event.block.BlockIgniteEvent; - - -public class ItemFlintAndSteel_1 extends Item { - - public ItemFlintAndSteel_1(int i) { - super(i); - aX = 1; - aY = 64; - } - - public boolean a(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l) { - // Craftbukkit start - get the clicked block - CraftBlock blockClicked = (CraftBlock) ((WorldServer) world).getWorld().getBlockAt(i, j, k); - - if (l == 0) { - j--; - } - if (l == 1) { - j++; - } - if (l == 2) { - k--; - } - if (l == 3) { - k++; - } - if (l == 4) { - i--; - } - if (l == 5) { - i++; - } - int i1 = world.a(i, j, k); - - if (i1 == 0) { - // Craftbukkit start - // Flint and steel - - CraftItemStack itemInHand = new CraftItemStack(itemstack); - CraftPlayer thePlayer = new CraftPlayer(((WorldServer) world).getServer(), (EntityPlayerMP) entityplayer); - PlayerItemEvent pie = new PlayerItemEvent(Type.PLAYER_ITEM, thePlayer, itemInHand, blockClicked, CraftBlock.notchToBlockFace(l)); - ((WorldServer) world).getServer().getPluginManager().callEvent(pie); - - org.bukkit.Block pblock = (((WorldServer) world).getWorld().getBlockAt(i, j, k)); - BlockIgniteEvent bie = new BlockIgniteEvent((org.bukkit.Block) pblock, BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL, thePlayer); - ((WorldServer) world).getServer().getPluginManager().callEvent(bie); - - boolean preventLighter = pie.isCancelled(); - boolean preventFire = bie.isCancelled(); - - if (preventLighter || preventFire) { - return false; - } else { - world.a((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D, "fire.ignite", 1.0F, b.nextFloat() * 0.4F + 0.8F); - world.d(i, j, k, Block.ar.bh); - } - } - itemstack.b(1); - return true; - } -} -