diff options
| author | Blood-Asp <bloodasphendrik@gmail.com> | 2015-10-20 00:24:30 +0200 |
|---|---|---|
| committer | Blood-Asp <bloodasphendrik@gmail.com> | 2015-10-20 00:24:30 +0200 |
| commit | 9202e2bfe31b1c38d74fadbc050292e5016de8b3 (patch) | |
| tree | a5d45c0544609332c0b5219119329af8e4bee35b /src/main/java/gregtech/api/objects/GT_ItemStack.java | |
| parent | 9367648dd69c4834c213a050aeae4af0acea1ed2 (diff) | |
| parent | 85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (diff) | |
| download | GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.gz GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.bz2 GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.zip | |
Merge pull request #249 from ShawnBuckley/source-move
Move source directory
Diffstat (limited to 'src/main/java/gregtech/api/objects/GT_ItemStack.java')
| -rw-r--r-- | src/main/java/gregtech/api/objects/GT_ItemStack.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/objects/GT_ItemStack.java b/src/main/java/gregtech/api/objects/GT_ItemStack.java new file mode 100644 index 0000000000..8881d276c8 --- /dev/null +++ b/src/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 |
