From 877312184c472d9845e5ef1008bc538f4634059f Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Thu, 10 Aug 2017 18:50:56 +0300 Subject: fix missing source folder --- main/java/gregtech/api/objects/GT_ItemStack.java | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 main/java/gregtech/api/objects/GT_ItemStack.java (limited to 'main/java/gregtech/api/objects/GT_ItemStack.java') diff --git a/main/java/gregtech/api/objects/GT_ItemStack.java b/main/java/gregtech/api/objects/GT_ItemStack.java new file mode 100644 index 0000000..8881d27 --- /dev/null +++ b/main/java/gregtech/api/objects/GT_ItemStack.java @@ -0,0 +1,52 @@ +package gregtech.api.objects; + +import gregtech.api.util.GT_Utility; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class GT_ItemStack { + public final Item mItem; + public final byte mStackSize; + public final short mMetaData; + + public GT_ItemStack(Item aItem, long aStackSize, long aMetaData) { + mItem = aItem; + mStackSize = (byte)aStackSize; + mMetaData = (short)aMetaData; + } + + public GT_ItemStack(ItemStack aStack) { + this(aStack==null?null:aStack.getItem(), aStack==null?0:aStack.stackSize, aStack==null?0:Items.feather.getDamage(aStack)); + } + + public GT_ItemStack(int aHashCode) { + this(GT_Utility.intToStack(aHashCode)); + } + + public ItemStack toStack() { + if (mItem == null) return null; + return new ItemStack(mItem, 1, mMetaData); + } + + public boolean isStackEqual(ItemStack aStack) { + return GT_Utility.areStacksEqual(toStack(), aStack); + } + + public boolean isStackEqual(GT_ItemStack aStack) { + return GT_Utility.areStacksEqual(toStack(), aStack.toStack()); + } + + @Override + public boolean equals(Object aStack) { + if (aStack == this) return true; + if (aStack instanceof GT_ItemStack) { + return ((GT_ItemStack)aStack).mItem == mItem && ((GT_ItemStack)aStack).mMetaData == mMetaData;} + return false; + } + + @Override + public int hashCode() { + return GT_Utility.stackToInt(toStack()); + } +} \ No newline at end of file -- cgit v1.2.3