package net.minecraft.world.storage; import java.io.File; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.MinecraftException; import net.minecraft.world.WorldProvider; import net.minecraft.world.chunk.storage.IChunkLoader; public interface ISaveHandler { /** * Loads and returns the world info */ WorldInfo loadWorldInfo(); /** * Checks the session lock to prevent save collisions */ void checkSessionLock() throws MinecraftException; /** * Returns the chunk loader with the provided world provider */ IChunkLoader getChunkLoader(WorldProvider worldprovider); /** * Saves the given World Info with the given NBTTagCompound as the Player. */ void saveWorldInfoWithPlayer(WorldInfo worldinfo, NBTTagCompound nbttagcompound); /** * Saves the passed in world info. */ void saveWorldInfo(WorldInfo worldinfo); /** * returns null if no saveHandler is relevent (eg. SMP) */ IPlayerFileData getSaveHandler(); /** * Called to flush all changes to disk, waiting for them to complete. */ void flush(); /** * Gets the file location of the given map */ File getMapFileFromName(String s); /** * Returns the name of the directory where world information is saved. */ String getWorldDirectoryName(); }