    001package net.minecraft.world.chunk.storage;
    002
    003import java.io.IOException;
    004import net.minecraft.world.MinecraftException;
    005import net.minecraft.world.World;
    006import net.minecraft.world.chunk.Chunk;
    007
    008public interface IChunkLoader
    009{
    010    /**
    011     * Loads the specified(XZ) chunk into the specified world.
    012     */
    013    Chunk loadChunk(World world, int i, int j) throws IOException;
    014
    015    void saveChunk(World world, Chunk chunk) throws MinecraftException, IOException;
    016
    017    /**
    018     * Save extra data associated with this Chunk not normally saved during autosave, only during chunk unload.
    019     * Currently unused.
    020     */
    021    void saveExtraChunkData(World world, Chunk chunk);
    022
    023    /**
    024     * Called every World.tick()
    025     */
    026    void chunkTick();
    027
    028    /**
    029     * Save extra data not associated with any Chunk.  Not saved during autosave, only during world unload.  Currently
    030     * unused.
    031     */
    032    void saveExtraData();
    033}