    001    package net.minecraft.src;
    002
    003    public interface IInventory
    004    {
    005        /**
    006         * Returns the number of slots in the inventory.
    007         */
    008        int getSizeInventory();
    009
    010        /**
    011         * Returns the stack in slot i
    012         */
    013        ItemStack getStackInSlot(int var1);
    014
    015        /**
    016         * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a
    017         * new stack.
    018         */
    019        ItemStack decrStackSize(int var1, int var2);
    020
    021        /**
    022         * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem -
    023         * like when you close a workbench GUI.
    024         */
    025        ItemStack getStackInSlotOnClosing(int var1);
    026
    027        /**
    028         * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
    029         */
    030        void setInventorySlotContents(int var1, ItemStack var2);
    031
    032        /**
    033         * Returns the name of the inventory.
    034         */
    035        String getInvName();
    036
    037        /**
    038         * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
    039         * this more of a set than a get?*
    040         */
    041        int getInventoryStackLimit();
    042
    043        /**
    044         * Called when an the contents of an Inventory change, usually
    045         */
    046        void onInventoryChanged();
    047
    048        /**
    049         * Do not make give this method the name canInteractWith because it clashes with Container
    050         */
    051        boolean isUseableByPlayer(EntityPlayer var1);
    052
    053        void openChest();
    054
    055        void closeChest();
    056    }