## Uses of Class
net.minecraft.item.ItemStack

- Packages that use ItemStack
  Package | Description
  --- | ---
  cpw.mods.fml.common |
  cpw.mods.fml.common.event |
  cpw.mods.fml.common.modloader |
  cpw.mods.fml.common.registry |
  net.minecraft.block |
  net.minecraft.client.entity |
  net.minecraft.client.gui |
  net.minecraft.client.gui.inventory |
  net.minecraft.client.multiplayer |
  net.minecraft.client.renderer |
  net.minecraft.client.renderer.entity |
  net.minecraft.creativetab |
  net.minecraft.dispenser |
  net.minecraft.enchantment |
  net.minecraft.entity |
  net.minecraft.entity.item |
  net.minecraft.entity.monster |
  net.minecraft.entity.passive |
  net.minecraft.entity.player |
  net.minecraft.entity.projectile |
  net.minecraft.inventory |
  net.minecraft.item |
  net.minecraft.item.crafting |
  net.minecraft.network.packet |
  net.minecraft.potion |
  net.minecraft.src |
  net.minecraft.stats |
  net.minecraft.tileentity |
  net.minecraft.util |
  net.minecraft.village |
  net.minecraft.world |
  net.minecraft.world.demo |
  net.minecraft.world.storage |
  net.minecraftforge.client |
  net.minecraftforge.client.event |
  net.minecraftforge.common |
  net.minecraftforge.event |
  net.minecraftforge.event.brewing |
  net.minecraftforge.event.entity.player |
  net.minecraftforge.liquids |
  net.minecraftforge.oredict |

- - ### Uses of ItemStack in cpw.mods.fml.common

    Methods in cpw.mods.fml.common with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `int` | IFuelHandler.`getBurnTime(ItemStack fuel)`
    `void` | ICraftingHandler.`onCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix)` The object array contains these three arguments
    `void` | ICraftingHandler.`onSmelting(EntityPlayer player, ItemStack item)` The object array contains these two arguments

  - ### Uses of ItemStack in cpw.mods.fml.common.event

    Methods in cpw.mods.fml.common.event that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | FMLInterModComms.IMCMessage.`getItemStackValue()`

    Methods in cpw.mods.fml.common.event with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | FMLInterModComms.`sendMessage(String modId, String key, ItemStack value)`
    `static void` | FMLInterModComms.`sendRuntimeMessage(Object sourceMod, String modId, String key, ItemStack value)`

  - ### Uses of ItemStack in cpw.mods.fml.common.modloader

    Methods in cpw.mods.fml.common.modloader with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `int` | ModLoaderFuelHelper.`getBurnTime(ItemStack fuel)`
    `void` | ModLoaderCraftingHelper.`onCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix)`
    `void` | BaseModProxy.`onItemPickup(EntityPlayer player, ItemStack item)`
    `void` | ModLoaderCraftingHelper.`onSmelting(EntityPlayer player, ItemStack item)`
    `void` | BaseModProxy.`takenFromCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix)`
    `void` | BaseModProxy.`takenFromFurnace(EntityPlayer player, ItemStack item)`

  - ### Uses of ItemStack in cpw.mods.fml.common.registry

    Methods in cpw.mods.fml.common.registry that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ItemStack` | GameRegistry.`findItemStack(String modId, String name, int stackSize)` Lookup an itemstack based on mod and name.

    Methods in cpw.mods.fml.common.registry with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static void` | GameRegistry.`addRecipe(ItemStack output, Object... params)`
    `static IRecipe` | GameRegistry.`addShapedRecipe(ItemStack output, Object... params)`
    `static void` | GameRegistry.`addShapelessRecipe(ItemStack output, Object... params)`
    `static void` | GameRegistry.`addSmelting(int input, ItemStack output, float xp)`
    `static int` | GameRegistry.`getFuelValue(ItemStack itemStack)`
    `static void` | GameRegistry.`onItemCrafted(EntityPlayer player, ItemStack item, IInventory craftMatrix)`
    `static void` | GameRegistry.`onItemSmelted(EntityPlayer player, ItemStack item)`
    `static void` | GameRegistry.`registerCustomItemStack(String name, ItemStack itemStack)` Manually register a custom item stack with FML for later tracking.

  - ### Uses of ItemStack in net.minecraft.block

    Methods in net.minecraft.block that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | Block.`getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)` Called when a user uses the creative pick block button on this block
    `static ItemStack` | BlockFlowerPot.`getPlantForMeta(int par0)` Return the item associated with the specified flower pot metadata value.

    Methods in net.minecraft.block that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<ItemStack>` | BlockStem.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)`
    `ArrayList<ItemStack>` | BlockCrops.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)`
    `ArrayList<ItemStack>` | BlockCocoa.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)`
    `ArrayList<ItemStack>` | BlockSkull.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)`
    `ArrayList<ItemStack>` | BlockNetherStalk.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)`
    `ArrayList<ItemStack>` | BlockTallGrass.`getBlockDropped(World world, int x, int y, int z, int meta, int fortune)`
    `ArrayList<ItemStack>` | Block.`getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)` This returns a complete list of items dropped from this block.
    `ArrayList<ItemStack>` | BlockLeaves.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`
    `ArrayList<ItemStack>` | BlockTallGrass.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`
    `ArrayList<ItemStack>` | BlockVine.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`

    Methods in net.minecraft.block with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | Block.`canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5, ItemStack par6ItemStack)`
    `static int` | BlockFlowerPot.`getMetaForPlant(ItemStack par0ItemStack)` Return the flower pot metadata value associated with the specified item.
    `void` | BlockJukeBox.`insertRecord(World par1World, int par2, int par3, int par4, ItemStack par5ItemStack)` Insert the specified music disc in the jukebox at the given coordinates
    `boolean` | BlockLeaves.`isShearable(ItemStack item, World world, int x, int y, int z)`
    `boolean` | BlockTallGrass.`isShearable(ItemStack item, World world, int x, int y, int z)`
    `boolean` | BlockVine.`isShearable(ItemStack item, World world, int x, int y, int z)`
    `void` | BlockHopper.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockAnvil.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockCommandBlock.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockRedstoneLogic.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockDispenser.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockBeacon.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockEnchantmentTable.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockFurnace.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockBrewingStand.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockFenceGate.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockEndPortalFrame.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockCocoa.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockEnderChest.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockSkull.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockStairs.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | Block.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockLever.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockChest.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockPumpkin.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `void` | BlockPistonBase.`onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack)` Called when the block is placed in the world.
    `ArrayList<ItemStack>` | BlockLeaves.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`
    `ArrayList<ItemStack>` | BlockTallGrass.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`
    `ArrayList<ItemStack>` | BlockVine.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)`

  - ### Uses of ItemStack in net.minecraft.client.entity

    Methods in net.minecraft.client.entity that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | EntityPlayerSP.`getHeldItem()` Returns the item that this EntityLiving is holding, if any.

    Methods in net.minecraft.client.entity with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | EntityPlayerSP.`displayGUIBook(ItemStack par1ItemStack)` Displays the GUI for interacting with a book.
    `void` | EntityOtherPlayerMP.`setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)` Sets the held item, or an armor slot.

  - ### Uses of ItemStack in net.minecraft.client.gui

    Methods in net.minecraft.client.gui with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | GuiRepair.`sendSlotContents(Container par1Container, int par2, ItemStack par3ItemStack)` Sends the contents of an inventory slot to the client-side Container.

    Constructors in net.minecraft.client.gui with parameters of type ItemStack
    Constructor and Description
    `GuiScreenBook(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack, boolean par3)`

  - ### Uses of ItemStack in net.minecraft.client.gui.inventory

    Methods in net.minecraft.client.gui.inventory with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | CreativeCrafting.`sendSlotContents(Container par1Container, int par2, ItemStack par3ItemStack)` Sends the contents of an inventory slot to the client-side Container.

  - ### Uses of ItemStack in net.minecraft.client.multiplayer

    Methods in net.minecraft.client.multiplayer that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | PlayerControllerMP.`windowClick(int par1, int par2, int par3, int par4, EntityPlayer par5EntityPlayer)`

    Methods in net.minecraft.client.multiplayer with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | PlayerControllerMP.`func_78752_a(ItemStack par1ItemStack)`
    `boolean` | PlayerControllerMP.`onPlayerRightClick(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, Vec3 par8Vec3)` Handles a players right click.
    `void` | PlayerControllerMP.`sendSlotPacket(ItemStack par1ItemStack, int par2)` Used in PlayerControllerMP to update the server with an ItemStack in a slot.
    `boolean` | PlayerControllerMP.`sendUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack)` Notifies the server of things like consuming food, etc...

  - ### Uses of ItemStack in net.minecraft.client.renderer

    Methods in net.minecraft.client.renderer with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | RenderGlobal.`drawBlockBreaking(EntityPlayer par1EntityPlayer, MovingObjectPosition par2MovingObjectPosition, int par3, ItemStack par4ItemStack, float par5)`
    `void` | RenderGlobal.`drawSelectionBox(EntityPlayer par1EntityPlayer, MovingObjectPosition par2MovingObjectPosition, int par3, ItemStack par4ItemStack, float par5)` Draws the selection box for the player.
    `void` | ItemRenderer.`renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3)`
    `void` | ItemRenderer.`renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3, IItemRenderer.ItemRenderType type)` Renders the item stack for being in an entity's hand Args: itemStack

  - ### Uses of ItemStack in net.minecraft.client.renderer.entity

    Methods in net.minecraft.client.renderer.entity with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `byte` | RenderItem.`getMiniBlockCount(ItemStack stack)`
    `byte` | RenderItem.`getMiniItemCount(ItemStack stack)` Allows for a subclass to override how many rendered items appear in a "mini item 3d stack"
    `void` | RenderItem.`renderItemAndEffectIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2RenderEngine, ItemStack par3ItemStack, int par4, int par5)` Render the item's icon or block into the GUI, including the glint effect.
    `void` | RenderItem.`renderItemIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2RenderEngine, ItemStack par3ItemStack, int par4, int par5)` Renders the item's icon or block into the UI at the specified position.
    `void` | RenderItem.`renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2RenderEngine, ItemStack par3ItemStack, int par4, int par5)` Renders the item's overlay information.
    `void` | RenderItem.`renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2RenderEngine, ItemStack par3ItemStack, int par4, int par5, String par6Str)`

  - ### Uses of ItemStack in net.minecraft.creativetab

    Methods in net.minecraft.creativetab that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | CreativeTabs.`getIconItemStack()` Get the ItemStack that will be rendered to the tab.

  - ### Uses of ItemStack in net.minecraft.dispenser

    Methods in net.minecraft.dispenser that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | BehaviorDefaultDispenseItem.`dispense(IBlockSource par1IBlockSource, ItemStack par2ItemStack)` Dispenses the specified ItemStack from a dispenser.
    `ItemStack` | IBehaviorDispenseItem.`dispense(IBlockSource iblocksource, ItemStack itemstack)` Dispenses the specified ItemStack from a dispenser.
    `ItemStack` | BehaviorProjectileDispense.`dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)` Dispense the specified stack, play the dispense sound and spawn particles.

    Methods in net.minecraft.dispenser with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | BehaviorDefaultDispenseItem.`dispense(IBlockSource par1IBlockSource, ItemStack par2ItemStack)` Dispenses the specified ItemStack from a dispenser.
    `ItemStack` | IBehaviorDispenseItem.`dispense(IBlockSource iblocksource, ItemStack itemstack)` Dispenses the specified ItemStack from a dispenser.
    `ItemStack` | BehaviorProjectileDispense.`dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)` Dispense the specified stack, play the dispense sound and spawn particles.
    `static void` | BehaviorDefaultDispenseItem.`doDispense(World par0World, ItemStack par1ItemStack, int par2, EnumFacing par3EnumFacing, IPosition par4IPosition)`

  - ### Uses of ItemStack in net.minecraft.enchantment

    Methods in net.minecraft.enchantment that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ItemStack` | EnchantmentHelper.`addRandomEnchantment(Random par0Random, ItemStack par1ItemStack, int par2)` Adds a random enchantment to the specified item.
    `static ItemStack` | EnchantmentHelper.`func_92099_a(Enchantment par0Enchantment, EntityLiving par1EntityLiving)`

    Methods in net.minecraft.enchantment with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ItemStack` | EnchantmentHelper.`addRandomEnchantment(Random par0Random, ItemStack par1ItemStack, int par2)` Adds a random enchantment to the specified item.
    `static List` | EnchantmentHelper.`buildEnchantmentList(Random par0Random, ItemStack par1ItemStack, int par2)` Create a list of random EnchantmentData (enchantments) that can be added together to the ItemStack, the 3rd parameter is the total enchantability level.
    `static int` | EnchantmentHelper.`calcItemStackEnchantability(Random par0Random, int par1, int par2, ItemStack par3ItemStack)` Returns the enchantability of itemstack, it's uses a singular formula for each index (2nd parameter: 0, 1 and 2), cutting to the max enchantability power of the table (3rd parameter)
    `boolean` | EnchantmentDigging.`canApply(ItemStack par1ItemStack)`
    `boolean` | EnchantmentThorns.`canApply(ItemStack par1ItemStack)`
    `boolean` | EnchantmentDamage.`canApply(ItemStack par1ItemStack)`
    `boolean` | EnchantmentUntouching.`canApply(ItemStack par1ItemStack)`
    `boolean` | EnchantmentDurability.`canApply(ItemStack par1ItemStack)`
    `boolean` | Enchantment.`canApply(ItemStack par1ItemStack)`
    `boolean` | Enchantment.`canApplyAtEnchantingTable(ItemStack stack)` This applies specifically to applying at the enchanting table.
    `static int` | EnchantmentHelper.`getEnchantmentLevel(int par0, ItemStack par1ItemStack)` Returns the level of enchantment on the ItemStack passed.
    `static int` | EnchantmentHelper.`getEnchantmentModifierDamage(ItemStack[] par0ArrayOfItemStack, DamageSource par1DamageSource)` Returns the modifier of protection enchantments on armors equipped on player.
    `static Map` | EnchantmentHelper.`getEnchantments(ItemStack par0ItemStack)` Return the enchantments for the specified stack.
    `static int` | EnchantmentHelper.`getMaxEnchantmentLevel(int par0, ItemStack[] par1ArrayOfItemStack)` Returns the biggest level of the enchantment on the array of ItemStack passed.
    `static Map` | EnchantmentHelper.`mapEnchantmentData(int par0, ItemStack par1ItemStack)` Creates a 'Map' of EnchantmentData (enchantments) possible to add on the ItemStack and the enchantability level passed.
    `static boolean` | EnchantmentDurability.`negateDamage(ItemStack par0ItemStack, int par1, Random par2Random)` Used by ItemStack.attemptDamageItem.
    `static void` | EnchantmentHelper.`setEnchantments(Map par0Map, ItemStack par1ItemStack)` Set the enchantments for the specified stack.

  - ### Uses of ItemStack in net.minecraft.entity

    Methods in net.minecraft.entity that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | EntityLiving.`getCurrentArmor(int par1)`
    `ItemStack` | EntityLiving.`getCurrentItemOrArmor(int par1)` 0 = item, 1-n is armor
    `ItemStack` | EntityLiving.`getHeldItem()` Returns the item that this EntityLiving is holding, if any.
    `ItemStack[]` | EntityLiving.`getLastActiveItems()`
    `ItemStack[]` | Entity.`getLastActiveItems()`
    `ItemStack` | Entity.`getPickedResult(MovingObjectPosition target)` Called when a user uses the creative pick block button on this entity.
    `ItemStack` | DataWatcher.`getWatchableObjectItemStack(int par1)` Get a watchable object as an ItemStack.

    Methods in net.minecraft.entity with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | EntityLiving.`curePotionEffects(ItemStack curativeItem)` Removes all potion effects that have curativeItem as a curative item for its effect
    `EntityItem` | Entity.`entityDropItem(ItemStack par1ItemStack, float par2)` Drops an item at the position of the entity.
    `static int` | EntityLiving.`getArmorPosition(ItemStack par0ItemStack)`
    `Icon` | EntityLiving.`getItemIcon(ItemStack par1ItemStack, int par2)`
    `void` | EntityLiving.`renderBrokenItemStack(ItemStack par1ItemStack)` Renders broken item particles using the given ItemStack
    `void` | EntityLiving.`setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)` Sets the held item, or an armor slot.
    `void` | Entity.`setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)` Sets the held item, or an armor slot.

    Constructors in net.minecraft.entity with parameters of type ItemStack
    Constructor and Description
    `EntitySelectorArmoredMob(ItemStack par1ItemStack)`

  - ### Uses of ItemStack in net.minecraft.entity.item

    Methods in net.minecraft.entity.item that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | EntityMinecartContainer.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | EntityMinecart.`getCartItem()` This function returns an ItemStack that represents this cart.
    `ItemStack` | EntityItemFrame.`getDisplayedItem()`
    `ItemStack` | EntityItem.`getEntityItem()` Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)
    `ItemStack` | EntityMinecartContainer.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | EntityMinecartContainer.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.

    Methods in net.minecraft.entity.item with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityMinecartContainer.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `void` | EntityItemFrame.`setDisplayedItem(ItemStack par1ItemStack)`
    `void` | EntityItem.`setEntityItemStack(ItemStack par1ItemStack)` Sets the ItemStack for this entity
    `void` | EntityMinecartContainer.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).

    Constructors in net.minecraft.entity.item with parameters of type ItemStack
    Constructor and Description
    `EntityFireworkRocket(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack)`
    `EntityItem(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack)`

  - ### Uses of ItemStack in net.minecraft.entity.monster

    Methods in net.minecraft.entity.monster with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | EntitySkeleton.`setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)` Sets the held item, or an armor slot.

  - ### Uses of ItemStack in net.minecraft.entity.passive

    Methods in net.minecraft.entity.passive that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<ItemStack>` | EntityMooshroom.`onSheared(ItemStack item, World world, int X, int Y, int Z, int fortune)`
    `ArrayList<ItemStack>` | EntitySheep.`onSheared(ItemStack item, World world, int X, int Y, int Z, int fortune)`

    Methods in net.minecraft.entity.passive with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityWolf.`isBreedingItem(ItemStack par1ItemStack)` Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)
    `boolean` | EntityAnimal.`isBreedingItem(ItemStack par1ItemStack)` Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)
    `boolean` | EntityChicken.`isBreedingItem(ItemStack par1ItemStack)` Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)
    `boolean` | EntityPig.`isBreedingItem(ItemStack par1ItemStack)` Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)
    `boolean` | EntityOcelot.`isBreedingItem(ItemStack par1ItemStack)` Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)
    `boolean` | EntityMooshroom.`isShearable(ItemStack item, World world, int X, int Y, int Z)`
    `boolean` | EntitySheep.`isShearable(ItemStack item, World world, int X, int Y, int Z)`
    `ArrayList<ItemStack>` | EntityMooshroom.`onSheared(ItemStack item, World world, int X, int Y, int Z, int fortune)`
    `ArrayList<ItemStack>` | EntitySheep.`onSheared(ItemStack item, World world, int X, int Y, int Z, int fortune)`

  - ### Uses of ItemStack in net.minecraft.entity.player

    Fields in net.minecraft.entity.player declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack[]` | InventoryPlayer.`armorInventory` An array of 4 item stacks containing the currently worn armor pieces.
    `ItemStack[]` | InventoryPlayer.`mainInventory` An array of 36 item stacks indicating the main player inventory (including the visible bar).

    Methods in net.minecraft.entity.player that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | InventoryPlayer.`armorItemInSlot(int par1)` returns a player armor item (as itemstack) contained in specified armor slot.
    `ItemStack` | InventoryPlayer.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | EntityPlayer.`getCurrentArmor(int par1)`
    `ItemStack` | EntityPlayer.`getCurrentEquippedItem()` Returns the currently being used item by the player.
    `ItemStack` | InventoryPlayer.`getCurrentItem()` Returns the item stack currently held by the player.
    `ItemStack` | EntityPlayer.`getCurrentItemOrArmor(int par1)` 0 = item, 1-n is armor
    `ItemStack` | EntityPlayer.`getHeldItem()` Returns the item that this EntityLiving is holding, if any.
    `ItemStack` | EntityPlayer.`getItemInUse()`
    `ItemStack` | InventoryPlayer.`getItemStack()`
    `ItemStack[]` | EntityPlayer.`getLastActiveItems()`
    `ItemStack` | InventoryPlayer.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | InventoryPlayer.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.

    Methods in net.minecraft.entity.player with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | InventoryPlayer.`addItemStackToInventory(ItemStack par1ItemStack)` Adds the item stack to the inventory, returns false if it is impossible.
    `boolean` | EntityPlayer.`canPlayerEdit(int par1, int par2, int par3, int par4, ItemStack par5ItemStack)`
    `void` | EntityPlayer.`displayGUIBook(ItemStack par1ItemStack)` Displays the GUI for interacting with a book.
    `EntityItem` | EntityPlayer.`dropPlayerItem(ItemStack par1ItemStack)` Args: itemstack - called when player drops an item stack that's not in his inventory (like items still placed in a workbench while the workbench'es GUI gets closed)
    `EntityItem` | EntityPlayer.`dropPlayerItemWithRandomChoice(ItemStack par1ItemStack, boolean par2)` Args: itemstack, flag
    `Icon` | EntityPlayer.`getItemIcon(ItemStack par1ItemStack, int par2)`
    `boolean` | InventoryPlayer.`hasItemStack(ItemStack par1ItemStack)` Returns true if the specified ItemStack exists in the inventory.
    `boolean` | InventoryPlayer.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `void` | EntityPlayerMP.`sendSlotContents(Container par1Container, int par2, ItemStack par3ItemStack)` Sends the contents of an inventory slot to the client-side Container.
    `void` | EntityPlayer.`setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)` Sets the held item, or an armor slot.
    `void` | InventoryPlayer.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | EntityPlayer.`setItemInUse(ItemStack par1ItemStack, int par2)` sets the itemInUse when the use item button is clicked.
    `void` | EntityPlayerMP.`setItemInUse(ItemStack par1ItemStack, int par2)` sets the itemInUse when the use item button is clicked.
    `void` | InventoryPlayer.`setItemStack(ItemStack par1ItemStack)`

  - ### Uses of ItemStack in net.minecraft.entity.projectile

    Constructors in net.minecraft.entity.projectile with parameters of type ItemStack
    Constructor and Description
    `EntityPotion(World par1World, double par2, double par4, double par6, ItemStack par8ItemStack)`
    `EntityPotion(World par1World, EntityLiving par2EntityLiving, ItemStack par3ItemStack)`

  - ### Uses of ItemStack in net.minecraft.inventory

    Methods in net.minecraft.inventory that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | SlotCrafting.`decrStackSize(int par1)` Decrease the size of the stack in slot (first int arg) by the amount of the second int arg.
    `ItemStack` | SlotMerchantResult.`decrStackSize(int par1)` Decrease the size of the stack in slot (first int arg) by the amount of the second int arg.
    `ItemStack` | Slot.`decrStackSize(int par1)` Decrease the size of the stack in slot (first int arg) by the amount of the second int arg.
    `ItemStack` | SlotFurnace.`decrStackSize(int par1)` Decrease the size of the stack in slot (first int arg) by the amount of the second int arg.
    `ItemStack` | InventoryMerchant.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | InventoryCrafting.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | InventoryCraftResult.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | IInventory.`decrStackSize(int i, int j)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | InventoryBasic.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | InventoryLargeChest.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | Slot.`getStack()` Helper fnct to get the stack in the slot.
    `ItemStack` | InventoryCrafting.`getStackInRowAndColumn(int par1, int par2)` Returns the itemstack in the slot specified (Top left is 0, 0).
    `ItemStack` | InventoryMerchant.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | InventoryCrafting.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | InventoryCraftResult.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | IInventory.`getStackInSlot(int i)` Returns the stack in slot i
    `ItemStack` | InventoryBasic.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | InventoryLargeChest.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | InventoryMerchant.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | InventoryCrafting.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | InventoryCraftResult.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | IInventory.`getStackInSlotOnClosing(int i)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | InventoryBasic.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | InventoryLargeChest.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | Container.`slotClick(int par1, int par2, int par3, EntityPlayer par4EntityPlayer)`
    `ItemStack` | ContainerEnchantment.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerPlayer.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerRepair.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerChest.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | Container.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerMerchant.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerBrewingStand.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerDispenser.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerHopper.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerBeacon.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerFurnace.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.
    `ItemStack` | ContainerWorkbench.`transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)` Called when a player shift-clicks on a slot.

    Methods in net.minecraft.inventory with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ISidedInventory.`canExtractItem(int i, ItemStack itemstack, int j)` Returns true if automation can extract the given item in the given slot from the given side.
    `boolean` | ISidedInventory.`canInsertItem(int i, ItemStack itemstack, int j)` Returns true if automation can insert the given item in the given slot from the given side.
    `static void` | Container.`func_94525_a(Set par0Set, int par1, ItemStack par2ItemStack, int par3)`
    `static boolean` | Container.`func_94527_a(Slot par0Slot, ItemStack par1ItemStack, boolean par2)`
    `boolean` | ContainerPlayer.`func_94530_a(ItemStack par1ItemStack, Slot par2Slot)`
    `boolean` | Container.`func_94530_a(ItemStack par1ItemStack, Slot par2Slot)`
    `boolean` | ContainerWorkbench.`func_94530_a(ItemStack par1ItemStack, Slot par2Slot)`
    `boolean` | SlotCrafting.`isItemValid(ItemStack par1ItemStack)` Check if the stack is a valid item for this slot.
    `boolean` | SlotMerchantResult.`isItemValid(ItemStack par1ItemStack)` Check if the stack is a valid item for this slot.
    `boolean` | Slot.`isItemValid(ItemStack par1ItemStack)` Check if the stack is a valid item for this slot.
    `boolean` | SlotFurnace.`isItemValid(ItemStack par1ItemStack)` Check if the stack is a valid item for this slot.
    `boolean` | InventoryMerchant.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | InventoryEnderChest.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | InventoryCrafting.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | InventoryCraftResult.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | IInventory.`isStackValidForSlot(int i, ItemStack itemstack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | InventoryBasic.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | InventoryLargeChest.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `void` | SlotCrafting.`onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)`
    `void` | SlotMerchantResult.`onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)`
    `void` | Slot.`onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)`
    `void` | SlotFurnace.`onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)`
    `void` | Slot.`onSlotChange(ItemStack par1ItemStack, ItemStack par2ItemStack)` if par2 has more items than par1, onCrafting(item,countIncrease) is called
    `void` | Slot.`putStack(ItemStack par1ItemStack)` Helper method to put a stack in the slot.
    `void` | Container.`putStackInSlot(int par1, ItemStack par2ItemStack)` args: slotID, itemStack to put in slot
    `void` | Container.`putStacksInSlots(ItemStack[] par1ArrayOfItemStack)`
    `void` | ICrafting.`sendSlotContents(Container container, int i, ItemStack itemstack)` Sends the contents of an inventory slot to the client-side Container.
    `void` | InventoryMerchant.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | InventoryCrafting.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | InventoryCraftResult.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | IInventory.`setInventorySlotContents(int i, ItemStack itemstack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | InventoryBasic.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | InventoryLargeChest.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).

  - ### Uses of ItemStack in net.minecraft.item

    Methods in net.minecraft.item that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | ItemStack.`copy()` Returns a new stack with the same properties.
    `static ItemStack` | ItemStack.`copyItemStack(ItemStack par0ItemStack)` Creates a copy of a ItemStack, a null parameters will return a null.
    `ItemStack` | ItemEnchantedBook.`func_92109_a(Random par1Random)`
    `ItemStack` | ItemEnchantedBook.`func_92111_a(EnchantmentData par1EnchantmentData)`
    `ItemStack` | Item.`getContainerItemStack(ItemStack itemStack)` ItemStack sensitive version of getContainerItem.
    `static ItemStack` | ItemStack.`loadItemStackFromNBT(NBTTagCompound par0NBTTagCompound)`
    `ItemStack` | ItemFood.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemBucketMilk.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemPotion.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemSoup.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemBow.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | Item.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemStack.`onFoodEaten(World par1World, EntityPlayer par2EntityPlayer)`
    `ItemStack` | ItemGlassBottle.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemLilyPad.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemArmor.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemSword.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemFood.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBoat.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemFishingRod.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemCarrotOnAStick.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEditableBook.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBucketMilk.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemWritableBook.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemPotion.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEmptyMap.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEnderEye.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBow.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemExpBottle.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemSnowball.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | Item.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEgg.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBucket.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEnderPearl.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemStack.`splitStack(int par1)` Remove the argument from the stack size.
    `ItemStack` | ItemStack.`useItemRightClick(World par1World, EntityPlayer par2EntityPlayer)` Called whenever this item stack is equipped and right clicked.

    Methods in net.minecraft.item with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ItemInWorldManager.`activateBlockOrUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Activate the clicked on block, otherwise use the held item.
    `void` | ItemMap.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemEditableBook.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemFirework.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemFireworkCharge.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemPotion.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemEnchantedBook.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | ItemRecord.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `void` | Item.`addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)`
    `static boolean` | ItemDye.`applyBonemeal(ItemStack par0ItemStack, World par1World, int par2, int par3, int par4, EntityPlayer player)`
    `static boolean` | ItemStack.`areItemStacksEqual(ItemStack par0ItemStack, ItemStack par1ItemStack)` compares ItemStack argument1 with ItemStack argument2; returns true if both ItemStacks are equal
    `static boolean` | ItemStack.`areItemStackTagsEqual(ItemStack par0ItemStack, ItemStack par1ItemStack)`
    `boolean` | Item.`canHarvestBlock(Block par1Block, ItemStack itemStack)` ItemStack sensitive version of `Item.canHarvestBlock(Block)`
    `boolean` | ItemSlab.`canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack)`
    `boolean` | ItemBlock.`canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack)`
    `static ItemStack` | ItemStack.`copyItemStack(ItemStack par0ItemStack)` Creates a copy of a ItemStack, a null parameters will return a null.
    `Entity` | Item.`createEntity(World world, Entity location, ItemStack itemstack)` This function should return a new entity to replace the dropped item.
    `Packet` | ItemMap.`createMapDataPacket(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` returns null if no update is to be sent
    `Packet` | ItemMapBase.`createMapDataPacket(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` returns null if no update is to be sent
    `boolean` | Item.`doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack)` If this returns true, after a recipe involving this item is crafted the container item will be added to the player's inventory instead of remaining in the crafting grid.
    `String` | Item.`func_77653_i(ItemStack par1ItemStack)`
    `void` | ItemArmor.`func_82813_b(ItemStack par1ItemStack, int par2)`
    `static NBTBase` | ItemFireworkCharge.`func_92108_a(ItemStack par0ItemStack, String par1Str)`
    `NBTTagList` | ItemEnchantedBook.`func_92110_g(ItemStack par1ItemStack)`
    `void` | ItemEnchantedBook.`func_92115_a(ItemStack par1ItemStack, EnchantmentData par2EnchantmentData)`
    `static boolean` | ItemDye.`func_96604_a(ItemStack par0ItemStack, World par1World, int par2, int par3, int par4)`
    `ModelBiped` | Item.`getArmorModel(EntityLiving entityLiving, ItemStack itemStack, int armorSlot)` Override this method to have an item handle its own armor rendering.
    `String` | Item.`getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)` Called by RenderBiped and RenderPlayer to determine the armor texture that should be use for the currently equiped item.
    `int` | ItemArmor.`getColor(ItemStack par1ItemStack)` Return the color for the specified armor ItemStack.
    `int` | ItemLilyPad.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemArmor.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemMonsterPlacer.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemFireworkCharge.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemPotion.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | Item.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemLeaves.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `int` | ItemColored.`getColorFromItemStack(ItemStack par1ItemStack, int par2)`
    `ItemStack` | Item.`getContainerItemStack(ItemStack itemStack)` ItemStack sensitive version of getContainerItem.
    `int` | Item.`getDamage(ItemStack stack)` Return the itemDamage represented by this ItemStack.
    `int` | Item.`getDamageVsEntity(Entity par1Entity, ItemStack itemStack)` An itemstack sensitive version of getDamageVsEntity - allows items to handle damage based on itemstack data, like tags.
    `int` | Item.`getDisplayDamage(ItemStack stack)` Return the itemDamage display value represented by this itemstack.
    `List` | ItemPotion.`getEffects(ItemStack par1ItemStack)` Returns a list of potion effects for the specified itemstack.
    `int` | Item.`getEntityLifespan(ItemStack itemStack, World world)` Retrieves the normal 'lifespan' of this item when it is dropped on the ground as a EntityItem.
    `FontRenderer` | Item.`getFontRenderer(ItemStack stack)` Returns the font renderer used to render tooltips and overlays for this item.
    `Icon` | Item.`getIcon(ItemStack stack, int pass)` Return the correct icon for rendering based on the supplied ItemStack and render pass.
    `Icon` | Item.`getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining)` Player, Render pass, and item usage sensitive version of getIconIndex.
    `Icon` | Item.`getIconIndex(ItemStack par1ItemStack)`
    `boolean` | ItemArmor.`getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)` Return whether this item is repairable in an anvil.
    `boolean` | ItemSword.`getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)` Return whether this item is repairable in an anvil.
    `boolean` | ItemTool.`getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)` Return whether this item is repairable in an anvil.
    `boolean` | Item.`getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)` Return whether this item is repairable in an anvil.
    `int` | Item.`getItemDamageFromStack(ItemStack stack)` Deprecated.
    `int` | Item.`getItemDamageFromStackForDisplay(ItemStack stack)` Deprecated.
    `String` | ItemSkull.`getItemDisplayName(ItemStack par1ItemStack)`
    `String` | ItemMonsterPlacer.`getItemDisplayName(ItemStack par1ItemStack)`
    `String` | ItemEditableBook.`getItemDisplayName(ItemStack par1ItemStack)`
    `String` | ItemPotion.`getItemDisplayName(ItemStack par1ItemStack)`
    `String` | Item.`getItemDisplayName(ItemStack par1ItemStack)`
    `int` | Item.`getItemMaxDamageFromStack(ItemStack stack)` Deprecated.
    `EnumAction` | ItemSword.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `EnumAction` | ItemFood.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `EnumAction` | ItemBucketMilk.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `EnumAction` | ItemPotion.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `EnumAction` | ItemBow.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `EnumAction` | Item.`getItemUseAction(ItemStack par1ItemStack)` returns the action that specifies what animation to play when the items is being used
    `String` | Item.`getLocalizedName(ItemStack par1ItemStack)` Gets the localized name of the given item stack.
    `MapData` | ItemMap.`getMapData(ItemStack par1ItemStack, World par2World)`
    `int` | Item.`getMaxDamage(ItemStack stack)` Return the maxDamage for this ItemStack.
    `int` | ItemSword.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `int` | ItemFood.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `int` | ItemBucketMilk.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `int` | ItemPotion.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `int` | ItemBow.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `int` | Item.`getMaxItemUseDuration(ItemStack par1ItemStack)` How long it takes to use or consume an item
    `String` | Item.`getPotionEffect(ItemStack stack)` ItemStack sensitive version of getPotionEffect
    `EnumRarity` | ItemAppleGold.`getRarity(ItemStack par1ItemStack)`
    `EnumRarity` | ItemEnchantedBook.`getRarity(ItemStack par1ItemStack)`
    `EnumRarity` | ItemRecord.`getRarity(ItemStack par1ItemStack)`
    `EnumRarity` | Item.`getRarity(ItemStack par1ItemStack)`
    `float` | Item.`getSmeltingExperience(ItemStack item)` Determines the base experience for a player when they remove this item from a furnace slot.
    `float` | ItemSword.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | ItemTool.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | ItemAxe.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | ItemPickaxe.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | ItemShears.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | Item.`getStrVsBlock(ItemStack par1ItemStack, Block par2Block)` Returns the strength of the stack against a given block.
    `float` | ItemTool.`getStrVsBlock(ItemStack stack, Block block, int meta)` FORGE: Overridden to allow custom tool effectiveness
    `float` | Item.`getStrVsBlock(ItemStack itemstack, Block block, int metadata)` Metadata-sensitive version of getStrVsBlock
    `String` | ItemDye.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemSlab.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemCloth.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemSkull.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemMultiTextureTile.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemCoal.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemBlock.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | Item.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemLeaves.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `String` | ItemColored.`getUnlocalizedName(ItemStack par1ItemStack)` Returns the unlocalized name of this item.
    `boolean` | ItemArmor.`hasColor(ItemStack par1ItemStack)` Return whether the specified armor ItemStack has a color.
    `boolean` | Item.`hasCustomEntity(ItemStack stack)` Determines if this Item has a special entity for when they are in the world.
    `boolean` | ItemAppleGold.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemEditableBook.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemPotion.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemEnchantedBook.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemExpBottle.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | Item.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemSimpleFoiled.`hasEffect(ItemStack par1ItemStack)`
    `boolean` | ItemSword.`hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)` Current implementations of this method in child classes do not use the entry argument beside ev.
    `boolean` | ItemTool.`hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)` Current implementations of this method in child classes do not use the entry argument beside ev.
    `boolean` | ItemSaddle.`hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)` Current implementations of this method in child classes do not use the entry argument beside ev.
    `boolean` | Item.`hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)` Current implementations of this method in child classes do not use the entry argument beside ev.
    `boolean` | Item.`isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2)` Allow or forbid the specific book/item combination as an anvil enchant
    `boolean` | Item.`isDamaged(ItemStack stack)` Return if this itemstack is damaged.
    `boolean` | ItemStack.`isItemEqual(ItemStack par1ItemStack)` compares ItemStack argument to the instance ItemStack; returns true if the Items contained in both ItemStacks are equal
    `boolean` | Item.`isItemStackDamaged(ItemStack stack)` Deprecated.
    `boolean` | ItemBook.`isItemTool(ItemStack par1ItemStack)` Checks isDamagable and if it cannot be stacked
    `boolean` | ItemEnchantedBook.`isItemTool(ItemStack par1ItemStack)` Checks isDamagable and if it cannot be stacked
    `boolean` | Item.`isItemTool(ItemStack par1ItemStack)` Checks isDamagable and if it cannot be stacked
    `boolean` | Item.`isPotionIngredient(ItemStack stack)` ItemStack sensitive version of isPotionIngredient
    `boolean` | Item.`isValidArmor(ItemStack stack, int armorType)` Deprecated.
    `boolean` | Item.`isValidArmor(ItemStack stack, int armorType, Entity entity)` Determines if the specific ItemStack can be placed in the specified armor slot.
    `boolean` | ItemDye.`itemInteractionForEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving)` Called when a player right clicks an entity with an item.
    `boolean` | ItemShears.`itemInteractionForEntity(ItemStack itemstack, EntityLiving entity)`
    `boolean` | ItemSaddle.`itemInteractionForEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving)` Called when a player right clicks an entity with an item.
    `boolean` | Item.`itemInteractionForEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving)` Called when a player right clicks an entity with an item.
    `void` | Item.`onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack)` Called to tick armor in the armor slot.
    `boolean` | ItemSword.`onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving)`
    `boolean` | ItemTool.`onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving)`
    `boolean` | ItemShears.`onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving)`
    `boolean` | Item.`onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving)`
    `boolean` | ItemShears.`onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player)`
    `boolean` | Item.`onBlockStartBreak(ItemStack itemstack, int X, int Y, int Z, EntityPlayer player)` Called before a block is broken.
    `void` | ItemMap.`onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called when item is crafted/smelted.
    `void` | Item.`onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called when item is crafted/smelted.
    `boolean` | Item.`onDroppedByPlayer(ItemStack item, EntityPlayer player)` Called when a player drops the item into the world, returning false from this will prevent the item from being removed from the players inventory and spawning in the world
    `ItemStack` | ItemFood.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemBucketMilk.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemPotion.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemSoup.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | ItemBow.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `ItemStack` | Item.`onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)`
    `boolean` | Item.`onEntitySwing(EntityLiving entityLiving, ItemStack stack)` Called when a entity tries to play the 'swing' animation.
    `ItemStack` | ItemGlassBottle.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemLilyPad.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemArmor.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemSword.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemFood.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBoat.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemFishingRod.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemCarrotOnAStick.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEditableBook.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBucketMilk.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemWritableBook.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemPotion.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEmptyMap.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEnderEye.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBow.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemExpBottle.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemSnowball.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | Item.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEgg.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemBucket.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `ItemStack` | ItemEnderPearl.`onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Called whenever this item is equipped and the right mouse button is pressed.
    `boolean` | ItemDye.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSlab.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemFlintAndSteel.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSkull.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemMonsterPlacer.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemMinecart.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemDoor.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemBlock.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemFirework.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemRedstone.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemPotion.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSnow.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemReed.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemHoe.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemHangingEntity.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemEnderEye.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemRecord.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSeedFood.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemBed.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSign.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemFireball.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | Item.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | ItemSeeds.`onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Callback for item usage.
    `boolean` | Item.`onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)` This is called when the item is used, before the block is activated.
    `boolean` | Item.`onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)` Called when the player Left Clicks (attacks) an entity.
    `void` | ItemBow.`onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)` called when the player releases the use item button.
    `void` | Item.`onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)` called when the player releases the use item button.
    `void` | ItemMap.`onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)` Called each tick as long the item is on a player inventory.
    `void` | Item.`onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)` Called each tick as long the item is on a player inventory.
    `void` | Item.`onUsingItemTick(ItemStack stack, EntityPlayer player, int count)` Called each tick while using an item.
    `boolean` | ItemBlock.`placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata)` Called to actually place the block, after the location is determined and all permission checks have been made.
    `void` | ItemArmor.`removeColor(ItemStack par1ItemStack)` Remove the color from the specified armor ItemStack.
    `void` | Item.`renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY)` Called when the client starts rendering the HUD, for whatever item the player currently has as a helmet.
    `void` | Item.`setDamage(ItemStack stack, int damage)` Set the damage for this itemstack.
    `void` | Item.`setItemDamageForStack(ItemStack stack, int damage)` Deprecated.
    `boolean` | ItemInWorldManager.`tryUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack)` Attempts to right-click use an item by the given EntityPlayer in the given World

  - ### Uses of ItemStack in net.minecraft.item.crafting

    Fields in net.minecraft.item.crafting declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack[]` | ShapedRecipes.`recipeItems` Is a array of ItemStack that composes the recipe.

    Methods in net.minecraft.item.crafting that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | CraftingManager.`findMatchingRecipe(InventoryCrafting par1InventoryCrafting, World par2World)`
    `ItemStack` | RecipesMapCloning.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | RecipeFireworks.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | ShapelessRecipes.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | ShapedRecipes.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | RecipesArmorDyes.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | RecipesMapExtending.`getCraftingResult(InventoryCrafting par1InventoryCrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | IRecipe.`getCraftingResult(InventoryCrafting inventorycrafting)` Returns an Item that is the result of this recipe
    `ItemStack` | RecipesMapCloning.`getRecipeOutput()`
    `ItemStack` | RecipeFireworks.`getRecipeOutput()`
    `ItemStack` | ShapelessRecipes.`getRecipeOutput()`
    `ItemStack` | ShapedRecipes.`getRecipeOutput()`
    `ItemStack` | RecipesArmorDyes.`getRecipeOutput()`
    `ItemStack` | IRecipe.`getRecipeOutput()`
    `ItemStack` | FurnaceRecipes.`getSmeltingResult(int par1)` Deprecated.
    `ItemStack` | FurnaceRecipes.`getSmeltingResult(ItemStack item)` Used to get the resulting ItemStack form a source ItemStack

    Methods in net.minecraft.item.crafting that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `Map<List<Integer>,ItemStack>` | FurnaceRecipes.`getMetaSmeltingList()`

    Methods in net.minecraft.item.crafting with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ShapedRecipes` | CraftingManager.`addRecipe(ItemStack par1ItemStack, Object... par2ArrayOfObj)`
    `void` | CraftingManager.`addShapelessRecipe(ItemStack par1ItemStack, Object... par2ArrayOfObj)`
    `void` | FurnaceRecipes.`addSmelting(int itemID, int metadata, ItemStack itemstack, float experience)` A metadata sensitive version of adding a furnace recipe.
    `void` | FurnaceRecipes.`addSmelting(int par1, ItemStack par2ItemStack, float par3)` Adds a smelting recipe.
    `float` | FurnaceRecipes.`getExperience(ItemStack item)` Grabs the amount of base experience for this item to give when pulled from the furnace slot.
    `ItemStack` | FurnaceRecipes.`getSmeltingResult(ItemStack item)` Used to get the resulting ItemStack form a source ItemStack

    Constructors in net.minecraft.item.crafting with parameters of type ItemStack
    Constructor and Description
    `ShapedRecipes(int par1, int par2, ItemStack[] par3ArrayOfItemStack, ItemStack par4ItemStack)`
    `ShapedRecipes(int par1, int par2, ItemStack[] par3ArrayOfItemStack, ItemStack par4ItemStack)`
    `ShapelessRecipes(ItemStack par1ItemStack, List par2List)`

  - ### Uses of ItemStack in net.minecraft.network.packet

    Fields in net.minecraft.network.packet declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack[]` | Packet104WindowItems.`itemStack` Stack of items
    `ItemStack` | Packet102WindowClick.`itemStack` Item stack for inventory
    `ItemStack` | Packet107CreativeSetSlot.`itemStack`
    `ItemStack` | Packet103SetSlot.`myItemStack` Item stack

    Methods in net.minecraft.network.packet that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | Packet5PlayerInventory.`getItemSlot()`
    `ItemStack` | Packet15Place.`getItemStack()`
    `static ItemStack` | Packet.`readItemStack(DataInputStream par0DataInputStream)` Reads a ItemStack from the InputStream

    Methods in net.minecraft.network.packet with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static void` | Packet.`writeItemStack(ItemStack par0ItemStack, DataOutputStream par1DataOutputStream)` Writes the ItemStack's ID (short), then size (byte), then damage.

    Constructors in net.minecraft.network.packet with parameters of type ItemStack
    Constructor and Description
    `Packet102WindowClick(int par1, int par2, int par3, int par4, ItemStack par5ItemStack, short par6)`
    `Packet103SetSlot(int par1, int par2, ItemStack par3ItemStack)`
    `Packet107CreativeSetSlot(int par1, ItemStack par2ItemStack)`
    `Packet15Place(int par1, int par2, int par3, int par4, ItemStack par5ItemStack, float par6, float par7, float par8)`
    `Packet5PlayerInventory(int par1, int par2, ItemStack par3ItemStack)`

  - ### Uses of ItemStack in net.minecraft.potion

    Methods in net.minecraft.potion that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `List<ItemStack>` | PotionEffect.`getCurativeItems()` Returns a list of curative items for the potion effect

    Methods in net.minecraft.potion with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | PotionEffect.`addCurativeItem(ItemStack stack)` Adds the given stack to list of curative items for the potion effect
    `boolean` | PotionEffect.`isCurativeItem(ItemStack stack)` Checks the given ItemStack to see if it is in the list of curative items for the potion effect

    Method parameters in net.minecraft.potion with type arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `void` | PotionEffect.`setCurativeItems(List<ItemStack> curativeItems)` Sets the array of curative items for the potion effect

  - ### Uses of ItemStack in net.minecraft.src

    Methods in net.minecraft.src with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static void` | ModLoader.`addRecipe(ItemStack output, Object... params)` Add a Shaped Recipe
    `static void` | ModLoader.`addShapelessRecipe(ItemStack output, Object... params)` Add a shapeless recipe
    `static void` | ModLoader.`addSmelting(int input, ItemStack output)` Add a new product to be smelted
    `static void` | ModLoader.`addSmelting(int input, ItemStack output, float experience)` Add a new product to be smelted
    `static boolean` | ModLoader.`dispenseEntity(World world, double x, double y, double z, int xVel, int zVel, ItemStack item)` Deprecated.
    `void` | BaseMod.`onItemPickup(EntityPlayer player, ItemStack item)` Handle item pickup
    `static void` | ModLoader.`onItemPickup(EntityPlayer player, ItemStack item)` Deprecated.
    `void` | BaseMod.`takenFromCrafting(EntityPlayer player, ItemStack item, IInventory matrix)` Called when someone crafts an item from a crafting table
    `static void` | ModLoader.`takenFromCrafting(EntityPlayer player, ItemStack item, IInventory matrix)` Deprecated.
    `void` | BaseMod.`takenFromFurnace(EntityPlayer player, ItemStack item)` Called when someone takes a smelted item from a furnace
    `static void` | ModLoader.`takenFromFurnace(EntityPlayer player, ItemStack item)` Deprecated.

  - ### Uses of ItemStack in net.minecraft.stats

    Fields in net.minecraft.stats declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | Achievement.`theItemStack` Holds the ItemStack that will be used to draw the achievement into the GUI.

    Constructors in net.minecraft.stats with parameters of type ItemStack
    Constructor and Description
    `Achievement(int par1, String par2Str, int par3, int par4, ItemStack par5ItemStack, Achievement par6Achievement)`

  - ### Uses of ItemStack in net.minecraft.tileentity

    Methods in net.minecraft.tileentity that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | TileEntityBrewingStand.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityDispenser.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityChest.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityBeacon.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityFurnace.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityHopper.`decrStackSize(int par1, int par2)` Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
    `ItemStack` | TileEntityRecordPlayer.`func_96097_a()`
    `ItemStack` | TileEntityBrewingStand.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityDispenser.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityChest.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityBeacon.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityFurnace.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityHopper.`getStackInSlot(int par1)` Returns the stack in slot i
    `ItemStack` | TileEntityBrewingStand.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | TileEntityDispenser.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | TileEntityChest.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | TileEntityBeacon.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | TileEntityFurnace.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `ItemStack` | TileEntityHopper.`getStackInSlotOnClosing(int par1)` When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
    `static ItemStack` | TileEntityHopper.`insertStack(IInventory par1IInventory, ItemStack par2ItemStack, int par3)` Inserts a stack into an inventory.

    Methods in net.minecraft.tileentity with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `int` | TileEntityDispenser.`addItem(ItemStack par1ItemStack)` Add item stack in first available inventory slot
    `boolean` | TileEntityBrewingStand.`canExtractItem(int par1, ItemStack par2ItemStack, int par3)` Returns true if automation can extract the given item in the given slot from the given side.
    `boolean` | TileEntityFurnace.`canExtractItem(int par1, ItemStack par2ItemStack, int par3)` Returns true if automation can extract the given item in the given slot from the given side.
    `boolean` | TileEntityBrewingStand.`canInsertItem(int par1, ItemStack par2ItemStack, int par3)` Returns true if automation can insert the given item in the given slot from the given side.
    `boolean` | TileEntityFurnace.`canInsertItem(int par1, ItemStack par2ItemStack, int par3)` Returns true if automation can insert the given item in the given slot from the given side.
    `void` | TileEntityRecordPlayer.`func_96098_a(ItemStack par1ItemStack)`
    `static int` | TileEntityFurnace.`getItemBurnTime(ItemStack par0ItemStack)` Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't fuel
    `static ItemStack` | TileEntityHopper.`insertStack(IInventory par1IInventory, ItemStack par2ItemStack, int par3)` Inserts a stack into an inventory.
    `static boolean` | TileEntityFurnace.`isItemFuel(ItemStack par0ItemStack)` Return true if item is a fuel source (getItemBurnTime() > 0).
    `boolean` | TileEntityBrewingStand.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | TileEntityDispenser.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | TileEntityChest.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | TileEntityBeacon.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | TileEntityFurnace.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `boolean` | TileEntityHopper.`isStackValidForSlot(int par1, ItemStack par2ItemStack)` Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
    `void` | TileEntityBrewingStand.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | TileEntityDispenser.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | TileEntityChest.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | TileEntityBeacon.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | TileEntityFurnace.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    `void` | TileEntityHopper.`setInventorySlotContents(int par1, ItemStack par2ItemStack)` Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).

  - ### Uses of ItemStack in net.minecraft.util

    Fields in net.minecraft.util declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | WeightedRandomChestContent.`theItemId` The Item/Block ID to generate in the Chest.

    Constructors in net.minecraft.util with parameters of type ItemStack
    Constructor and Description
    `WeightedRandomChestContent(ItemStack par1ItemStack, int par2, int par3, int par4)`

  - ### Uses of ItemStack in net.minecraft.village

    Methods in net.minecraft.village that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | MerchantRecipe.`getItemToBuy()` Gets the itemToBuy.
    `ItemStack` | MerchantRecipe.`getItemToSell()` Gets itemToSell.
    `ItemStack` | MerchantRecipe.`getSecondItemToBuy()` Gets secondItemToBuy.

    Methods in net.minecraft.village with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `MerchantRecipe` | MerchantRecipeList.`canRecipeBeUsed(ItemStack par1ItemStack, ItemStack par2ItemStack, int par3)` can par1,par2 be used to in crafting recipe par3

    Constructors in net.minecraft.village with parameters of type ItemStack
    Constructor and Description
    `MerchantRecipe(ItemStack par1ItemStack, Item par2Item)`
    `MerchantRecipe(ItemStack par1ItemStack, ItemStack par2ItemStack)`
    `MerchantRecipe(ItemStack par1ItemStack, ItemStack par2ItemStack, ItemStack par3ItemStack)`

  - ### Uses of ItemStack in net.minecraft.world

    Methods in net.minecraft.world with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | World.`canPlaceEntityOnSide(int par1, int par2, int par3, int par4, boolean par5, int par6, Entity par7Entity, ItemStack par8ItemStack)` Returns true if the given Entity can be placed on the given side of the given block position.

  - ### Uses of ItemStack in net.minecraft.world.demo

    Methods in net.minecraft.world.demo with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | DemoWorldManager.`activateBlockOrUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, float par8, float par9, float par10)` Activate the clicked on block, otherwise use the held item.
    `boolean` | DemoWorldManager.`tryUseItem(EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack)` Attempts to right-click use an item by the given EntityPlayer in the given World

  - ### Uses of ItemStack in net.minecraft.world.storage

    Methods in net.minecraft.world.storage with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | MapInfo.`getPlayersOnMap(ItemStack par1ItemStack)` returns a 1+players*3 array, of x,y, and color .
    `byte[]` | MapData.`getUpdatePacketData(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)` Get byte array of packet data to send to players on map for updating map data
    `void` | MapData.`updateVisiblePlayers(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)` Adds the player passed to the list of visible players and checks to see which players are visible

  - ### Uses of ItemStack in net.minecraftforge.client

    Methods in net.minecraftforge.client with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ModelBiped` | ForgeHooksClient.`getArmorModel(EntityLiving entityLiving, ItemStack itemStack, int slotID, ModelBiped _default)`
    `static String` | ForgeHooksClient.`getArmorTexture(Entity entity, ItemStack armor, String _default, int slot, int layer)`
    `static String` | ForgeHooksClient.`getArmorTexture(ItemStack armor, String _default)` Deprecated.
    `static IItemRenderer` | MinecraftForgeClient.`getItemRenderer(ItemStack item, IItemRenderer.ItemRenderType type)`
    `boolean` | IItemRenderer.`handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type)` Checks if this renderer should handle a specific item's render type
    `static boolean` | ForgeHooksClient.`onDrawBlockHighlight(RenderGlobal context, EntityPlayer player, MovingObjectPosition target, int subID, ItemStack currentItem, float partialTicks)`
    `static boolean` | ForgeHooksClient.`renderEntityItem(EntityItem entity, ItemStack item, float bobing, float rotation, Random random, RenderEngine engine, RenderBlocks renderBlocks)`
    `static void` | ForgeHooksClient.`renderEquippedItem(IItemRenderer.ItemRenderType type, IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityLiving entity, ItemStack item)`
    `static void` | ForgeHooksClient.`renderEquippedItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityLiving entity, ItemStack item)` Deprecated.
    `static boolean` | ForgeHooksClient.`renderInventoryItem(RenderBlocks renderBlocks, RenderEngine engine, ItemStack item, boolean inColor, float zLevel, float x, float y)`
    `void` | IItemRenderer.`renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data)` Called to do the actual rendering, see ItemRenderType for details on when specific types are run, and what extra data is passed into the data parameter.
    `boolean` | IItemRenderer.`shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper)` Checks if certain helper functionality should be executed for this renderer.

  - ### Uses of ItemStack in net.minecraftforge.client.event

    Fields in net.minecraftforge.client.event declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | DrawBlockHighlightEvent.`currentItem`
    `ItemStack` | RenderPlayerEvent.SetArmorModel.`stack`

    Constructors in net.minecraftforge.client.event with parameters of type ItemStack
    Constructor and Description
    `DrawBlockHighlightEvent(RenderGlobal context, EntityPlayer player, MovingObjectPosition target, int subID, ItemStack currentItem, float partialTicks)`
    `RenderPlayerEvent.SetArmorModel(EntityPlayer player, RenderPlayer renderer, int slot, float partialTick, ItemStack stack)`

  - ### Uses of ItemStack in net.minecraftforge.common

    Methods in net.minecraftforge.common that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ItemStack[]` | ChestGenHooks.`generateStacks(Random rand, ItemStack source, int min, int max)` Generates an array of items based on the input min/max count.
    `static ItemStack` | ForgeHooks.`getGrassSeed(World world)`
    `ItemStack` | ChestGenHooks.`getOneItem(Random rand)` Returns a single ItemStack from the possible items in this registry, Useful if you just want a quick and dirty random Item.
    `static ItemStack` | ChestGenHooks.`getOneItem(String category, Random rand)`

    Methods in net.minecraftforge.common that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<ItemStack>` | IShearable.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)` Performs the shear function on this object.

    Methods in net.minecraftforge.common with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static void` | MinecraftForge.`addGrassSeed(ItemStack seed, int weight)` Register a new seed to be dropped when breaking tall grass.
    `static int` | ISpecialArmor.ArmorProperties.`ApplyArmor(EntityLiving entity, ItemStack[] inventory, DamageSource source, double damage)` Gathers and applies armor reduction to damage being dealt to a entity.
    `static boolean` | ForgeHooks.`canToolHarvestBlock(Block block, int metadata, ItemStack stack)`
    `void` | ISpecialArmor.`damageArmor(EntityLiving entity, ItemStack stack, DamageSource source, int damage, int slot)` Applies damage to the ItemStack.
    `static ItemStack[]` | ChestGenHooks.`generateStacks(Random rand, ItemStack source, int min, int max)` Generates an array of items based on the input min/max count.
    `int` | ISpecialArmor.`getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)` Get the displayed effective armor.
    `String` | IArmorTextureProvider.`getArmorTextureFile(ItemStack itemstack)` Deprecated. This interface has to return the path to a file that is the same format as iron_1.png (or any of the other armor files).
    `ISpecialArmor.ArmorProperties` | ISpecialArmor.`getProperties(EntityLiving player, ItemStack armor, DamageSource source, double damage, int slot)` Retrieves the modifiers to be used when calculating armor damage.
    `boolean` | IShearable.`isShearable(ItemStack item, World world, int x, int y, int z)` Checks if the object is currently shearable Example: Sheep return false when they have no wool
    `static boolean` | ForgeHooks.`isToolEffective(ItemStack stack, Block block, int metadata)`
    `static EntityItem` | ForgeHooks.`onPlayerTossEvent(EntityPlayer player, ItemStack item)`
    `ArrayList<ItemStack>` | IShearable.`onSheared(ItemStack item, World world, int x, int y, int z, int fortune)` Performs the shear function on this object.
    `void` | ChestGenHooks.`removeItem(ItemStack item)` Removes all items that match the input item stack, Only metadata and item ID are checked.
    `static void` | ChestGenHooks.`removeItem(String category, ItemStack item)`

  - ### Uses of ItemStack in net.minecraftforge.event

    Methods in net.minecraftforge.event with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static void` | ForgeEventFactory.`onPlayerDestroyItem(EntityPlayer player, ItemStack stack)`

  - ### Uses of ItemStack in net.minecraftforge.event.brewing

    Fields in net.minecraftforge.event.brewing declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack[]` | PotionBrewedEvent.`brewingStacks` The brewing stacks in the brewing stand.

    Constructors in net.minecraftforge.event.brewing with parameters of type ItemStack
    Constructor and Description
    `PotionBrewedEvent(ItemStack[] brewingStacks)`

  - ### Uses of ItemStack in net.minecraftforge.event.entity.player

    Fields in net.minecraftforge.event.entity.player declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | ArrowLooseEvent.`bow`
    `ItemStack` | FillBucketEvent.`current` This event is fired when a player attempts to use a Empty bucket, it can be canceled to completely prevent any further processing.
    `ItemStack` | UseHoeEvent.`current` This event is fired when a player attempts to use a Hoe on a block, it can be canceled to completely prevent any further processing.
    `ItemStack` | PlayerDestroyItemEvent.`original`
    `ItemStack` | FillBucketEvent.`result`
    `ItemStack` | ArrowNockEvent.`result`

    Constructors in net.minecraftforge.event.entity.player with parameters of type ItemStack
    Constructor and Description
    `ArrowLooseEvent(EntityPlayer player, ItemStack bow, int charge)`
    `ArrowNockEvent(EntityPlayer player, ItemStack result)`
    `FillBucketEvent(EntityPlayer player, ItemStack current, World world, MovingObjectPosition target)`
    `PlayerDestroyItemEvent(EntityPlayer player, ItemStack original)`
    `UseHoeEvent(EntityPlayer player, ItemStack current, World world, int x, int y, int z)`

  - ### Uses of ItemStack in net.minecraftforge.liquids

    Fields in net.minecraftforge.liquids declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | LiquidContainerData.`container`
    `static ItemStack` | LiquidContainerRegistry.`EMPTY_BUCKET`
    `ItemStack` | LiquidContainerData.`filled`

    Methods in net.minecraftforge.liquids that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | LiquidStack.`asItemStack()`
    `static ItemStack` | LiquidContainerRegistry.`fillLiquidContainer(LiquidStack liquid, ItemStack emptyContainer)`

    Methods in net.minecraftforge.liquids with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | LiquidContainerRegistry.`containsLiquid(ItemStack filledContainer, LiquidStack liquid)`
    `static ItemStack` | LiquidContainerRegistry.`fillLiquidContainer(LiquidStack liquid, ItemStack emptyContainer)`
    `static LiquidStack` | LiquidContainerRegistry.`getLiquidForFilledItem(ItemStack filledContainer)`
    `static boolean` | LiquidContainerRegistry.`isBucket(ItemStack container)`
    `static boolean` | LiquidContainerRegistry.`isContainer(ItemStack container)`
    `static boolean` | LiquidContainerRegistry.`isEmptyContainer(ItemStack emptyContainer)`
    `static boolean` | LiquidContainerRegistry.`isFilledContainer(ItemStack filledContainer)`
    `static boolean` | LiquidContainerRegistry.`isLiquid(ItemStack item)`
    `boolean` | LiquidStack.`isLiquidEqual(ItemStack other)`

    Constructors in net.minecraftforge.liquids with parameters of type ItemStack
    Constructor and Description
    `LiquidContainerData(LiquidStack stillLiquid, ItemStack filled, ItemStack container)`

  - ### Uses of ItemStack in net.minecraftforge.oredict

    Fields in net.minecraftforge.oredict declared as ItemStack
    Modifier and Type | Field and Description
    --- | ---
    `ItemStack` | OreDictionary.OreRegisterEvent.`Ore`

    Methods in net.minecraftforge.oredict that return ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `ItemStack` | ShapedOreRecipe.`getCraftingResult(InventoryCrafting var1)`
    `ItemStack` | ShapelessOreRecipe.`getCraftingResult(InventoryCrafting var1)`
    `ItemStack` | ShapedOreRecipe.`getRecipeOutput()`
    `ItemStack` | ShapelessOreRecipe.`getRecipeOutput()`

    Methods in net.minecraftforge.oredict that return types with arguments of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static ArrayList<ItemStack>` | OreDictionary.`getOres(Integer id)` Retrieves the ArrayList of items that are registered to this ore type.
    `static ArrayList<ItemStack>` | OreDictionary.`getOres(String name)` Retrieves the ArrayList of items that are registered to this ore type.

    Methods in net.minecraftforge.oredict with parameters of type ItemStack
    Modifier and Type | Method and Description
    --- | ---
    `static int` | OreDictionary.`getOreID(ItemStack itemStack)` Gets the integer ID for the specified item stack.
    `static boolean` | OreDictionary.`itemMatches(ItemStack target, ItemStack input, boolean strict)`
    `static void` | OreDictionary.`registerOre(int id, ItemStack ore)`
    `static void` | OreDictionary.`registerOre(String name, ItemStack ore)`

    Constructors in net.minecraftforge.oredict with parameters of type ItemStack
    Constructor and Description
    `OreDictionary.OreRegisterEvent(String name, ItemStack ore)`
    `ShapedOreRecipe(ItemStack result, Object... recipe)`
    `ShapelessOreRecipe(ItemStack result, Object... recipe)`