@Override public NBTTagCompound writeToNBT(NBTTagCompound tag) { super.writeToNBT(tag); if (inventory.size() > 0) { NBTTagList list = new NBTTagList(); for (int i = 0; i < inventory.size(); i++) {; if (inventory.get(i) != null) { list.appendTag(inventory.get(i).writeToNBT(new NBTTagCompound())); } } tag.setTag("inventory", list); } if (incenses.size() > 0) { NBTTagList list = new NBTTagList(); for (int i = 0; i < incenses.size(); i++) {; if (incenses.get(i) != null) { list.appendTag(incenses.get(i).writeToNBT(new NBTTagCompound())); } } tag.setTag("incenses", list); } if (ritualName != null) { tag.setString("ritualName", ritualName); } tag.setInteger("progress", progress); return tag; }
@Override public void readFromNBT(NBTTagCompound tag) { super.readFromNBT(tag); inventory = new ArrayList<ItemStack>(); if (tag.hasKey("inventory")) { NBTTagList list = tag.getTagList("inventory", Constants.NBT.TAG_COMPOUND); for (int i = 0; i < list.tagCount(); i++) { inventory.add(ItemStack.loadItemStackFromNBT(list.getCompoundTagAt(i))); } } incenses = new ArrayList<ItemStack>(); if (tag.hasKey("incenses")) { NBTTagList list = tag.getTagList("incenses", Constants.NBT.TAG_COMPOUND); for (int i = 0; i < list.tagCount(); i++) { incenses.add(ItemStack.loadItemStackFromNBT(list.getCompoundTagAt(i))); } } if (tag.hasKey("ritualName")) { ritualName = tag.getString("ritualName"); ritual = RitualManager.getRitualFromName(ritualName); System.out.println("Ritual name: " + ritualName); } if (tag.hasKey("progress")) { progress = tag.getInteger("progress"); } }