package appeng.api.storage.data; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; /** * An alternate version of ItemStack for AE to keep tabs on things easier, and to support larger storage. stackSizes of * getItemStack will be capped. * * You may hold on to these if you want, just make sure you let go of them when your not using them. * * Don't Implement. * * Construct with Util.createItemStack( ItemStack ) */ public interface IAEItemStack extends IAEStack<IAEItemStack> { /** * creates a standard MC ItemStack for the item. * * @return new ItemStack */ public ItemStack getItemStack(); /** * create a AE Item clone * * @return the copy */ @Override public IAEItemStack copy(); /** * is there NBT Data for this item? * * @return if there is */ boolean hasTagCompound(); /** * Combines two IAEItemStacks via addition. * * @param option * to add to the current one. */ @Override void add(IAEItemStack option); /** * quick way to get access to the MC Item Definition. * * @return */ Item getItem(); /** * @return the items damage value */ int getItemDamage(); /** * Compare the Ore Dictionary ID for this to another item. */ boolean sameOre(IAEItemStack is); /** * compare the item/damage/nbt of the stack. * * @param otherStack * @return */ boolean isSameType(IAEItemStack otherStack); /** * compare the item/damage/nbt of the stack. * * @param otherStack * @return */ boolean isSameType(ItemStack stored); }