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}