net.minecraft.tileentity

## Class TileEntityChest

- java.lang.Object
- - net.minecraft.tileentity.TileEntity
  - - net.minecraft.tileentity.TileEntityChest

- All Implemented Interfaces:
    IInventory

      public class TileEntityChest
      extends TileEntity
      implements IInventory

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `adjacentChestChecked` Determines if the check for adjacent chests has taken place.
    `TileEntityChest` | `adjacentChestXNeg` Contains the chest tile located adjacent to this one (if any)
    `TileEntityChest` | `adjacentChestXPos` Contains the chest tile located adjacent to this one (if any)
    `TileEntityChest` | `adjacentChestZNeg` Contains the chest tile located adjacent to this one (if any)
    `TileEntityChest` | `adjacentChestZPosition` Contains the chest tile located adjacent to this one (if any)
    `float` | `lidAngle` The current angle of the lid (between 0 and 1)
    `int` | `numUsingPlayers` The number of players currently using this chest
    `float` | `prevLidAngle` The angle of the lid last tick

    - ### Fields inherited from class net.minecraft.tileentity.TileEntity

      `blockMetadata, blockType, INFINITE_EXTENT_AABB, worldObj, xCoord, yCoord, zCoord`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TileEntityChest()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkForAdjacentChests()` Performs the check for adjacent chests to determine if this chest is double or not.
    `void` | `closeChest()`
    `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.
    `int` | `getInventoryStackLimit()` Returns the maximum stack size for a inventory slot.
    `String` | `getInvName()` Returns the name of the inventory.
    `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.
    `void` | `invalidate()` invalidates a tile entity
    `boolean` | `isUseableByPlayer(EntityPlayer par1EntityPlayer)` Do not make give this method the name canInteractWith because it clashes with Container
    `void` | `openChest()`
    `void` | `readFromNBT(NBTTagCompound par1NBTTagCompound)` Reads a tile entity from NBT.
    `void` | `receiveClientEvent(int par1, int par2)` Called when a client event is received with the event number and argument, see World.sendClientEvent
    `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` | `updateContainingBlockInfo()` Causes the TileEntity to reset all it's cached values for it's container block, blockID, metaData and in the case of chests, the adjcacent chest check
    `void` | `updateEntity()` Allows the entity to update its state.
    `void` | `writeToNBT(NBTTagCompound par1NBTTagCompound)` Writes a tile entity to NBT.

    - ### Methods inherited from class net.minecraft.tileentity.TileEntity

      `addMapping, canUpdate, createAndLoadEntity, func_70309_m, func_82115_m, func_85027_a, getBlockMetadata, getBlockType, getDescriptionPacket, getDistanceFrom, getRenderBoundingBox, getWorldObj, isInvalid, onChunkUnload, onDataPacket, onInventoryChanged, setWorldObj, shouldRefresh, shouldRenderInPass, validate`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.minecraft.inventory.IInventory

      `onInventoryChanged`

- - ### Field Detail

    - #### adjacentChestChecked

          public boolean adjacentChestChecked

      Determines if the check for adjacent chests has taken place.

    - #### adjacentChestZNeg

          public TileEntityChest adjacentChestZNeg

      Contains the chest tile located adjacent to this one (if any)

    - #### adjacentChestXPos

          public TileEntityChest adjacentChestXPos

      Contains the chest tile located adjacent to this one (if any)

    - #### adjacentChestXNeg

          public TileEntityChest adjacentChestXNeg

      Contains the chest tile located adjacent to this one (if any)

    - #### adjacentChestZPosition

          public TileEntityChest adjacentChestZPosition

      Contains the chest tile located adjacent to this one (if any)

    - #### lidAngle

          public float lidAngle

      The current angle of the lid (between 0 and 1)

    - #### prevLidAngle

          public float prevLidAngle

      The angle of the lid last tick

    - #### numUsingPlayers

          public int numUsingPlayers

      The number of players currently using this chest

  - ### Constructor Detail

    - #### TileEntityChest

          public TileEntityChest()

  - ### Method Detail

    - #### 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`

    - #### 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`

    - #### getInvName

          public String getInvName()

      Returns the name of the inventory.
      Specified by:
        `getInvName` in interface `IInventory`

    - #### readFromNBT

          public void readFromNBT(NBTTagCompound par1NBTTagCompound)

      Reads a tile entity from NBT.
      Overrides:
        `readFromNBT` in class `TileEntity`

    - #### writeToNBT

          public void writeToNBT(NBTTagCompound par1NBTTagCompound)

      Writes a tile entity to NBT.
      Overrides:
        `writeToNBT` in class `TileEntity`

    - #### 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`

    - #### 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`

    - #### updateContainingBlockInfo

          public void updateContainingBlockInfo()

      Causes the TileEntity to reset all it's cached values for it's container block, blockID, metaData and in the case of chests, the adjcacent chest check
      Overrides:
        `updateContainingBlockInfo` in class `TileEntity`

    - #### checkForAdjacentChests

          public void checkForAdjacentChests()

      Performs the check for adjacent chests to determine if this chest is double or not.

    - #### updateEntity

          public void updateEntity()

      Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count ticks and creates a new spawn inside its implementation.
      Overrides:
        `updateEntity` in class `TileEntity`

    - #### receiveClientEvent

          public void receiveClientEvent(int par1,
                                int par2)

      Called when a client event is received with the event number and argument, see World.sendClientEvent
      Overrides:
        `receiveClientEvent` in class `TileEntity`

    - #### openChest

          public void openChest()

      Specified by:
        `openChest` in interface `IInventory`

    - #### closeChest

          public void closeChest()

      Specified by:
        `closeChest` in interface `IInventory`

    - #### invalidate

          public void invalidate()

      invalidates a tile entity
      Overrides:
        `invalidate` in class `TileEntity`