    001package net.minecraft.world.storage;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.util.List;
    006import net.minecraft.util.IProgressUpdate;
    007
    008public interface ISaveFormat
    009{
    010    /**
    011     * Returns back a loader for the specified save directory
    012     */
    013    ISaveHandler getSaveLoader(String var1, boolean var2);
    014
    015    @SideOnly(Side.CLIENT)
    016    List getSaveList();
    017
    018    void flushCache();
    019
    020    @SideOnly(Side.CLIENT)
    021
    022    /**
    023     * gets the world info
    024     */
    025    WorldInfo getWorldInfo(String var1);
    026
    027    /**
    028     * @args: Takes one argument - the name of the directory of the world to delete. @desc: Delete the world by deleting
    029     * the associated directory recursively.
    030     */
    031    boolean deleteWorldDirectory(String var1);
    032
    033    @SideOnly(Side.CLIENT)
    034
    035    /**
    036     * @args: Takes two arguments - first the name of the directory containing the world and second the new name for
    037     * that world. @desc: Renames the world by storing the new name in level.dat. It does *not* rename the directory
    038     * containing the world data.
    039     */
    040    void renameWorld(String var1, String var2);
    041
    042    /**
    043     * Checks if the save directory uses the old map format
    044     */
    045    boolean isOldMapFormat(String var1);
    046
    047    /**
    048     * Converts the specified map to the new map format. Args: worldName, loadingScreen
    049     */
    050    boolean convertMapFormat(String var1, IProgressUpdate var2);
    051
    052    @SideOnly(Side.CLIENT)
    053
    054    /**
    055     * Return whether the given world can be loaded.
    056     */
    057    boolean canLoadWorld(String var1);
    058}