    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    }