aboutsummaryrefslogtreecommitdiff
path: root/gtpp/src/main/java/gtPlusPlus/api/objects/minecraft/ItemStackData.java
blob: f5e483b91c886c173693d492a7146c31c5b7e6fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package gtPlusPlus.api.objects.minecraft;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

import gtPlusPlus.core.util.minecraft.ItemUtils;

public class ItemStackData {

    protected final Item mItem;
    protected final int mDamage;
    protected final int mStackSize;
    protected final NBTTagCompound mNBT;
    protected final String mUniqueDataTag;

    public ItemStackData(ItemStack aStack) {
        mItem = aStack.getItem();
        mDamage = aStack.getItemDamage();
        mStackSize = aStack.stackSize;
        mNBT = (aStack.getTagCompound() != null ? aStack.getTagCompound() : new NBTTagCompound());
        mUniqueDataTag = "" + Item.getIdFromItem(mItem) + "" + mDamage + "" + mStackSize + "" + mNBT.getId();
    }

    public String getUniqueDataIdentifier() {
        return this.mUniqueDataTag;
    }

    public ItemStack getStack() {
        ItemStack aTemp = ItemUtils.simpleMetaStack(mItem, mDamage, mStackSize);
        aTemp.setTagCompound(mNBT);
        return aTemp;
    }
}