net.minecraft.entity.player
Class InventoryPlayer

java.lang.Object
  extended by net.minecraft.entity.player.InventoryPlayer
All Implemented Interfaces:
IInventory

public class InventoryPlayer
extends Object
implements IInventory


Field Summary
 ItemStack[] armorInventory
          An array of 4 item stacks containing the currently worn armor pieces.
 int currentItem
          The index of the currently held item (0-8).
 boolean inventoryChanged
          Set true whenever the inventory changes.
 ItemStack[] mainInventory
          An array of 36 item stacks indicating the main player inventory (including the visible bar).
 EntityPlayer player
          The player whose inventory this is.
 
Constructor Summary
InventoryPlayer(EntityPlayer par1EntityPlayer)
           
 
Method Summary
 boolean addItemStackToInventory(ItemStack par1ItemStack)
          Adds the item stack to the inventory, returns false if it is impossible.
 ItemStack armorItemInSlot(int par1)
          returns a player armor item (as itemstack) contained in specified armor slot.
 boolean canHarvestBlock(Block par1Block)
          Returns whether the current item (tool) can harvest from the specified block (actually get a result).
 void changeCurrentItem(int par1)
           
 int clearInventory(int par1, int par2)
          Clear this player's inventory, using the specified ID and metadata as filters or -1 for no filter.
 void closeChest()
           
 boolean consumeInventoryItem(int par1)
          removed one item of specified itemID from inventory (if it is in a stack, the stack size will reduce with 1)
 void copyInventory(InventoryPlayer par1InventoryPlayer)
          Copy the ItemStack contents from another InventoryPlayer instance
 void damageArmor(int par1)
          Damages armor in each slot by the specified amount.
 void decrementAnimations()
          Decrement the number of animations remaining.
 ItemStack 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.
 void dropAllItems()
          Drop all armor and main inventory items.
 void func_70439_a(Item par1Item, int par2)
           
 ItemStack getCurrentItem()
          Returns the item stack currently held by the player.
 int getDamageVsEntity(Entity par1Entity)
          Return damage vs an entity done by the current held weapon, or 1 if nothing is held
 int getFirstEmptyStack()
          Returns the first item stack that is empty.
static int getHotbarSize()
          Get the size of the player hotbar inventory
 int getInventoryStackLimit()
          Returns the maximum stack size for a inventory slot.
 String getInvName()
          Returns the name of the inventory.
 ItemStack getItemStack()
           
 int getSizeInventory()
          Returns the number of slots in the inventory.
 ItemStack getStackInSlot(int par1)
          Returns the stack in slot i
 ItemStack 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.
 float getStrVsBlock(Block par1Block)
          Gets the strength of the current item (tool) against the specified block, 1.0f if not holding anything.
 int getTotalArmorValue()
          Based on the damage values and maximum damage values of each armor item, returns the current armor value.
 boolean hasItem(int par1)
          Get if a specifiied item id is inside the inventory.
 boolean hasItemStack(ItemStack par1ItemStack)
          Returns true if the specified ItemStack exists in the inventory.
 boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
          Do not make give this method the name canInteractWith because it clashes with Container
 void onInventoryChanged()
          Called when an the contents of an Inventory change, usually
 void openChest()
           
 void readFromNBT(NBTTagList par1NBTTagList)
          Reads from the given tag list and fills the slots in the inventory with the correct items.
 void setCurrentItem(int par1, int par2, boolean par3, boolean par4)
           
 void setInventorySlotContents(int par1, ItemStack par2ItemStack)
          Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
 void setItemStack(ItemStack par1ItemStack)
           
 NBTTagList writeToNBT(NBTTagList par1NBTTagList)
          Writes the inventory out as a list of compound tags.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mainInventory

public ItemStack[] mainInventory
An array of 36 item stacks indicating the main player inventory (including the visible bar).


armorInventory

public ItemStack[] armorInventory
An array of 4 item stacks containing the currently worn armor pieces.


currentItem

public int currentItem
The index of the currently held item (0-8).


player

public EntityPlayer player
The player whose inventory this is.


inventoryChanged

public boolean inventoryChanged
Set true whenever the inventory changes. Nothing sets it false so you will have to write your own code to check it and reset the value.

Constructor Detail

InventoryPlayer

public InventoryPlayer(EntityPlayer par1EntityPlayer)
Method Detail

getCurrentItem

public ItemStack getCurrentItem()
Returns the item stack currently held by the player.


getHotbarSize

public static int getHotbarSize()
Get the size of the player hotbar inventory


getFirstEmptyStack

public int getFirstEmptyStack()
Returns the first item stack that is empty.


setCurrentItem

public void setCurrentItem(int par1,
                           int par2,
                           boolean par3,
                           boolean par4)

changeCurrentItem

public void changeCurrentItem(int par1)

clearInventory

public int clearInventory(int par1,
                          int par2)
Clear this player's inventory, using the specified ID and metadata as filters or -1 for no filter.


func_70439_a

public void func_70439_a(Item par1Item,
                         int par2)

decrementAnimations

public void decrementAnimations()
Decrement the number of animations remaining. Only called on client side. This is used to handle the animation of receiving a block.


consumeInventoryItem

public boolean consumeInventoryItem(int par1)
removed one item of specified itemID from inventory (if it is in a stack, the stack size will reduce with 1)


hasItem

public boolean hasItem(int par1)
Get if a specifiied item id is inside the inventory.


addItemStackToInventory

public boolean addItemStackToInventory(ItemStack par1ItemStack)
Adds the item stack to the inventory, returns false if it is impossible.


decrStackSize

public ItemStack 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.

Specified by:
decrStackSize in interface IInventory

getStackInSlotOnClosing

public ItemStack 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.

Specified by:
getStackInSlotOnClosing in interface IInventory

setInventorySlotContents

public void setInventorySlotContents(int par1,
                                     ItemStack par2ItemStack)
Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).

Specified by:
setInventorySlotContents in interface IInventory

getStrVsBlock

public float getStrVsBlock(Block par1Block)
Gets the strength of the current item (tool) against the specified block, 1.0f if not holding anything.


writeToNBT

public NBTTagList writeToNBT(NBTTagList par1NBTTagList)
Writes the inventory out as a list of compound tags. This is where the slot indices are used (+100 for armor, +80 for crafting).


readFromNBT

public void readFromNBT(NBTTagList par1NBTTagList)
Reads from the given tag list and fills the slots in the inventory with the correct items.


getSizeInventory

public int getSizeInventory()
Returns the number of slots in the inventory.

Specified by:
getSizeInventory in interface IInventory

getStackInSlot

public ItemStack getStackInSlot(int par1)
Returns the stack in slot i

Specified by:
getStackInSlot in interface IInventory

getInvName

public String getInvName()
Returns the name of the inventory.

Specified by:
getInvName in interface IInventory

getInventoryStackLimit

public int getInventoryStackLimit()
Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't this more of a set than a get?*

Specified by:
getInventoryStackLimit in interface IInventory

getDamageVsEntity

public int getDamageVsEntity(Entity par1Entity)
Return damage vs an entity done by the current held weapon, or 1 if nothing is held


canHarvestBlock

public boolean canHarvestBlock(Block par1Block)
Returns whether the current item (tool) can harvest from the specified block (actually get a result).


armorItemInSlot

public ItemStack armorItemInSlot(int par1)
returns a player armor item (as itemstack) contained in specified armor slot.


getTotalArmorValue

public int getTotalArmorValue()
Based on the damage values and maximum damage values of each armor item, returns the current armor value.


damageArmor

public void damageArmor(int par1)
Damages armor in each slot by the specified amount.


dropAllItems

public void dropAllItems()
Drop all armor and main inventory items.


onInventoryChanged

public void onInventoryChanged()
Called when an the contents of an Inventory change, usually

Specified by:
onInventoryChanged in interface IInventory

setItemStack

public void setItemStack(ItemStack par1ItemStack)

getItemStack

public ItemStack getItemStack()

isUseableByPlayer

public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
Do not make give this method the name canInteractWith because it clashes with Container

Specified by:
isUseableByPlayer in interface IInventory

hasItemStack

public boolean hasItemStack(ItemStack par1ItemStack)
Returns true if the specified ItemStack exists in the inventory.


openChest

public void openChest()
Specified by:
openChest in interface IInventory

closeChest

public void closeChest()
Specified by:
closeChest in interface IInventory

copyInventory

public void copyInventory(InventoryPlayer par1InventoryPlayer)
Copy the ItemStack contents from another InventoryPlayer instance