public void readFromFile() { try { String saveFolder = CoroUtilFile.getWorldSaveFolderPath() + CoroUtilFile.getWorldFolderName() + "epoch" + File.separator; if ((new File(saveFolder + "EpochBlockDataDim_" + world.provider.dimensionId + ".dat")) .exists()) { NBTTagCompound data = CompressedStreamTools.readCompressed( new FileInputStream( saveFolder + "EpochBlockDataDim_" + world.provider.dimensionId + ".dat")); // Collection playerDataCl = data.getTags(); Iterator it = data.func_150296_c().iterator(); // playerDataCl.iterator(); while (it.hasNext()) { String keyName = (String) it.next(); NBTTagCompound nbt = data.getCompoundTag(keyName); BlockDataPoint bdp = this.getBlockDataFromNBT( nbt.getInteger("xCoord"), nbt.getInteger("yCoord"), nbt.getInteger("zCoord"), nbt); if (bdp != null) { bdp.readFromNBT(nbt); } else { // must have been set to air at some point... } } } } catch (Exception ex) { ex.printStackTrace(); } }