package net.minecraft.server; // CraftBukkit start import org.bukkit.craftbukkit.CraftBlock; import org.bukkit.craftbukkit.inventory.CraftItemStack; import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.event.Event.Type; import org.bukkit.event.player.PlayerItemEvent; // CraftBukkit end public class ItemRedstone extends Item { public ItemRedstone(int i) { super(i); } public boolean a(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l) { // CraftBukkit - 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++; } if (!world.e(i, j, k)) { return false; } if (Block.av.a(world, i, j, k)) { // CraftBukkit start - Redstone 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); if (pie.isCancelled()) return false; // CraftBukkit end itemstack.a--; world.e(i, j, k, Block.av.bi); } return true; } }