@Override public void readFromNBT(NBTTagCompound filedata) { for (Object obj : filedata.func_150296_c()) { if (obj instanceof NBTTagList) { NBTTagList entry = (NBTTagList) obj; String name = entry.toString(); // TODO See if this is equivilent to 1.6's getName function ItemStack[] saveinv = new ItemStack[6]; if (entry.tagCount() > 0) { for (int j = 0; j < entry.tagCount(); j++) { NBTTagCompound obj1 = entry.getCompoundTagAt(j); if (obj1 instanceof NBTTagCompound) { NBTTagCompound dat = (NBTTagCompound) obj1; int i = (dat.getByte("Slot")) & 7; if (i >= 6) { System.out.println("GCInv error retrieving savefile: slot was outside range 0-5"); return; } saveinv[i] = ItemStack.loadItemStackFromNBT(dat); } } } CommandGCInv.savedata.put(name.toLowerCase(), saveinv); } } }