package net.CyanWool.api.inventory; import net.CyanWool.api.Register; public class ItemStack { private int id; private int amount; private int data; private ItemData itemdata; private ItemType type; public ItemStack(int id) { this(id, 1); } public ItemStack(int id, int amount) { this(id, amount, 0); } public ItemStack(int id, int amount, int data) { this(id, amount, data, Register.getItemType(id, data)); } public ItemStack(int id, int amount, int data, ItemType type) { this.id = id; this.amount = amount; this.data = data; this.type = type; } public int getId() { return this.id; } public int getAmount() { return this.amount; } public int getData() { return this.data; } public boolean hasItemData() { return getItemData() != null; } /** * @return the itemdata */ public ItemData getItemData() { return itemdata; } /** * @param itemdata * the itemdata to set */ public void setItemData(ItemData itemdata) { this.itemdata = itemdata; } @Override public ItemStack clone() { ItemStack clone = new ItemStack(id, amount, data); clone.setItemData(getItemData()); return clone; } @Override public boolean equals(Object other) { if (this == other) { return true; } else if (!(other instanceof ItemStack)) { return false; } else { ItemStack item = (ItemStack) other; return item.getId() == getId() && item.getData() == getData(); // Maybe // todo } } /** * @return the type */ public ItemType getItemType() { return type; } }