From cdc728c5b606d6d3d49dce77c18f875a1f8379c6 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Tue, 12 Sep 2017 17:04:35 +1000 Subject: + Auto Crafter now consumes items when found for a recipe. + Auto Crafter now outputs item when all 9 inputs are valid. + Added Read & Write to NBT functions to NBTUtils class. % Project Table now stores inputs and output to a Data Stick. --- src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java | 37 +++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/Java/gtPlusPlus/core/util') diff --git a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java index 010016d5f1..64653f7c56 100644 --- a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java +++ b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java @@ -46,6 +46,26 @@ public class NBTUtils { } return inventory; } + + public static ItemStack[] readItemsFromNBT(ItemStack itemstack, String customkey){ + NBTTagCompound tNBT = getNBT(itemstack); + final NBTTagList list = tNBT.getTagList(customkey, 10); + ItemStack inventory[] = new ItemStack[list.tagCount()]; + for(int i = 0;i= 0) && (slot < list.tagCount())){ + if (ItemStack.loadItemStackFromNBT(data) == ItemUtils.getSimpleStack(ZZZ_Empty)){ + inventory[slot] = null; + } + else { + inventory[slot] = ItemStack.loadItemStackFromNBT(data); + } + + } + } + return inventory; + } public static ItemStack writeItemsToNBT(ItemStack itemstack, ItemStack[] stored){ NBTTagCompound tNBT = getNBT(itemstack); @@ -70,6 +90,23 @@ public class NBTUtils { itemstack.setTagCompound(tNBT); return itemstack; } + + public static ItemStack writeItemsToNBT(ItemStack itemstack, ItemStack[] stored, String customkey){ + NBTTagCompound tNBT = getNBT(itemstack); + final NBTTagList list = new NBTTagList(); + for(int i = 0;i