public void writeToFile(boolean unloadInstances) { try { NBTTagCompound data = new NBTTagCompound(); Collection playerDataCl = grid.values(); Iterator it = playerDataCl.iterator(); while (it.hasNext()) { BlockDataPoint bdp = (BlockDataPoint) it.next(); data.setTag("" + bdp.hash, bdp.writeToNBT()); } String saveFolder = CoroUtilFile.getWorldSaveFolderPath() + CoroUtilFile.getWorldFolderName() + "epoch" + File.separator; // Write out to file if (!(new File(saveFolder).exists())) (new File(saveFolder)).mkdirs(); FileOutputStream fos = new FileOutputStream( saveFolder + "EpochBlockDataDim_" + world.provider.dimensionId + ".dat"); CompressedStreamTools.writeCompressed(data, fos); fos.close(); } catch (Exception ex) { ex.printStackTrace(); } }