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