/** * Inventory.java - Interface to player inventories * * @author James */ public interface Inventory { /** * Updates this inventory, sending the new information to clients */ public void update(); /** * Clears this inventory */ public void clearContents(); public void addItem(Item item); public Item getItemFromSlot(int slot); public Item getItemFromId(Item.Type type); public Item getItemFromId(int id); public Item getItemFromId(Item.Type type, int maxAmount); public Item getItemFromId(int id, int maxAmount); public int getEmptySlot(); public void removeItem(int slot); public void setSlot(Item item, int slot); public void setSlot(Item.Type type, int amount, int slot); public void setSlot(int itemId, int amount, int slot); public void setSlot(int itemId, int amount, int damage, int slot); public void removeItem(Item item); public void removeItem(Item.Type type, int amount); public void removeItem(int id, int amount); public boolean hasItem(Item.Type type); public boolean hasItem(int itemId); public boolean hasItem(Item.Type type, int minimum); public boolean hasItem(int itemId, int minimum); public boolean hasItem(int itemId, int minimum, int maximum); public Item[] getContents(); public void setContents(Item[] contents); public int getContentsSize(); public String getName(); public void setName(String value); }