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