001    package net.minecraft.src;
002    
003    import java.io.File;
004    
005    public interface ISaveHandler
006    {
007        /**
008         * Loads and returns the world info
009         */
010        WorldInfo loadWorldInfo();
011    
012        /**
013         * Checks the session lock to prevent save collisions
014         */
015        void checkSessionLock() throws MinecraftException;
016    
017        /**
018         * Returns the chunk loader with the provided world provider
019         */
020        IChunkLoader getChunkLoader(WorldProvider var1);
021    
022        /**
023         * Saves the given World Info with the given NBTTagCompound as the Player.
024         */
025        void saveWorldInfoWithPlayer(WorldInfo var1, NBTTagCompound var2);
026    
027        /**
028         * Saves the passed in world info.
029         */
030        void saveWorldInfo(WorldInfo var1);
031    
032        /**
033         * returns null if no saveHandler is relevent (eg. SMP)
034         */
035        IPlayerFileData getSaveHandler();
036    
037        /**
038         * Called to flush all changes to disk, waiting for them to complete.
039         */
040        void flush();
041    
042        /**
043         * Gets the file location of the given map
044         */
045        File getMapFileFromName(String var1);
046    
047        /**
048         * Returns the name of the directory where world information is saved
049         */
050        String getSaveDirectoryName();
051    }