662a7805dd
to simplify the "stackSize" NBT tag workaround
31 lines
923 B
Java
31 lines
923 B
Java
package appeng.helpers;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
/**
|
|
* Methods to help with the added "stackSize" NBT tag to get around "Count" being written and read as a byte.
|
|
*/
|
|
public class ItemStackHelper {
|
|
public static ItemStack stackFromNBT(NBTTagCompound itemNBT) {
|
|
ItemStack is = new ItemStack(itemNBT);
|
|
if (itemNBT.hasKey("stackSize")) {
|
|
is.setCount(itemNBT.getInteger("stackSize"));
|
|
}
|
|
return is;
|
|
}
|
|
|
|
public static void stackWriteToNBT(ItemStack is, NBTTagCompound itemNBT) {
|
|
is.writeToNBT(itemNBT);
|
|
if (is.getCount() > Byte.MAX_VALUE) {
|
|
itemNBT.setInteger("stackSize", is.getCount());
|
|
}
|
|
}
|
|
|
|
public static NBTTagCompound stackToNBT(ItemStack is) {
|
|
NBTTagCompound itemNBT = new NBTTagCompound();
|
|
stackWriteToNBT(is, itemNBT);
|
|
return itemNBT;
|
|
}
|
|
}
|