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; 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 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++; } 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; itemstack.a--; world.d(i, j, k, Block.av.bh); } return true; } }