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 }