public static synchronized RegionFile createOrLoadRegionFile(File par0File, int par1, int par2) { File file = new File(par0File, "region"); File file1 = new File( file, (new StringBuilder()) .append("r.") .append(par1 >> 5) .append(".") .append(par2 >> 5) .append(".mca") .toString()); Reference reference = (Reference) regionsByFilename.get(file1); if (reference != null) { RegionFile regionfile = (RegionFile) reference.get(); if (regionfile != null) { return regionfile; } } if (!file.exists()) { file.mkdirs(); } if (regionsByFilename.size() >= 256) { clearRegionFileReferences(); } RegionFile regionfile1 = new RegionFile(file1); regionsByFilename.put(file1, new SoftReference(regionfile1)); return regionfile1; }
/** Called to flush all changes to disk, waiting for them to complete. */ public void flush() { try { ThreadedFileIOBase.threadedIOInstance.waitForFinish(); } catch (InterruptedException var2) { var2.printStackTrace(); } RegionFileCache.clearRegionFileReferences(); }
public void flushCache() { RegionFileCache.clearRegionFileReferences(); }