package crazypants.enderio.machine.invpanel; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; public class ItemEntryBase { public final int dbID; public final int hash; public final int itemID; public final int meta; public final NBTTagCompound nbt; protected ItemEntryBase(int dbID, int hash, int itemID, int meta, NBTTagCompound nbt) { this.dbID = dbID; this.hash = hash; this.itemID = itemID; this.meta = meta; this.nbt = nbt; } @Override public int hashCode() { return hash; } @Override public boolean equals(Object obj) { if(obj instanceof ItemEntryBase) { ItemEntryBase other = (ItemEntryBase) obj; return this.dbID == other.dbID; } return false; } boolean equals(int itemID, int meta, NBTTagCompound nbt) { return this.itemID == itemID && this.meta == meta && ((this.nbt == nbt) || (this.nbt != null && this.nbt.equals(nbt))); } public Item getItem() { return Item.getItemById(itemID); } @Override public String toString() { return "ItemEntryBase{" + "dbID=" + dbID + ", hash=" + hash + ", itemID=" + itemID + ", meta=" + meta + ", nbt=" + nbt + '}'; } }