/** Handles a players right click */ public boolean onPlayerRightClick( EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7) { this.syncCurrentPlayItem(); this.netClientHandler.addToSendQueue( new Packet15Place(par4, par5, par6, par7, par1EntityPlayer.inventory.getCurrentItem())); if (par3ItemStack != null && par3ItemStack.getItem() != null && par3ItemStack .getItem() .onItemUseFirst(par3ItemStack, par1EntityPlayer, par2World, par4, par5, par6, par7)) { return true; } int var8 = par2World.getBlockId(par4, par5, par6); if (var8 > 0 && Block.blocksList[var8].blockActivated(par2World, par4, par5, par6, par1EntityPlayer)) { return true; } else if (par3ItemStack == null) { return false; } else if (this.creativeMode) { int var9 = par3ItemStack.getItemDamage(); int var10 = par3ItemStack.stackSize; boolean var11 = par3ItemStack.useItem(par1EntityPlayer, par2World, par4, par5, par6, par7); par3ItemStack.setItemDamage(var9); par3ItemStack.stackSize = var10; return var11; } else { if (!par3ItemStack.useItem(par1EntityPlayer, par2World, par4, par5, par6, par7)) { return false; } if (par3ItemStack.stackSize <= 0) { ForgeHooks.onDestroyCurrentItem(par1EntityPlayer, par3ItemStack); } return true; } }
/** Destroys the currently equipped item from the player's inventory. */ public void destroyCurrentEquippedItem() { ItemStack orig = inventory.getCurrentItem(); this.inventory.setInventorySlotContents(this.inventory.currentItem, (ItemStack) null); ForgeHooks.onDestroyCurrentItem(this, orig); }