@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);
      }
    }
  }