001 package net.minecraft.src;
002
003 import java.io.File;
004
005 public class AnvilSaveHandler extends SaveHandler
006 {
007 public AnvilSaveHandler(File par1File, String par2Str, boolean par3)
008 {
009 super(par1File, par2Str, par3);
010 }
011
012 /**
013 * Returns the chunk loader with the provided world provider
014 */
015 public IChunkLoader getChunkLoader(WorldProvider par1WorldProvider)
016 {
017 File var2 = this.getSaveDirectory();
018 File var3;
019
020 if (par1WorldProvider.getSaveFolder() != null)
021 {
022 var3 = new File(var2, par1WorldProvider.getSaveFolder());
023 var3.mkdirs();
024 return new AnvilChunkLoader(var3);
025 }
026 else
027 {
028 return new AnvilChunkLoader(var2);
029 }
030 }
031
032 /**
033 * Saves the given World Info with the given NBTTagCompound as the Player.
034 */
035 public void saveWorldInfoWithPlayer(WorldInfo par1WorldInfo, NBTTagCompound par2NBTTagCompound)
036 {
037 par1WorldInfo.setSaveVersion(19133);
038 super.saveWorldInfoWithPlayer(par1WorldInfo, par2NBTTagCompound);
039 }
040
041 /**
042 * Called to flush all changes to disk, waiting for them to complete.
043 */
044 public void flush()
045 {
046 try
047 {
048 ThreadedFileIOBase.threadedIOInstance.waitForFinish();
049 }
050 catch (InterruptedException var2)
051 {
052 var2.printStackTrace();
053 }
054
055 RegionFileCache.clearRegionFileReferences();
056 }
057 }