    001    package net.minecraft.src;
    002
    003    import java.util.List;
    004
    005    public interface IChunkProvider
    006    {
    007        /**
    008         * Checks to see if a chunk exists at x, y
    009         */
    010        boolean chunkExists(int var1, int var2);
    011
    012        /**
    013         * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the
    014         * specified chunk from the map seed and chunk seed
    015         */
    016        Chunk provideChunk(int var1, int var2);
    017
    018        /**
    019         * loads or generates the chunk at the chunk location specified
    020         */
    021        Chunk loadChunk(int var1, int var2);
    022
    023        /**
    024         * Populates chunk with ores etc etc
    025         */
    026        void populate(IChunkProvider var1, int var2, int var3);
    027
    028        /**
    029         * Two modes of operation: if passed true, save all Chunks in one go.  If passed false, save up to two chunks.
    030         * Return true if all chunks have been saved.
    031         */
    032        boolean saveChunks(boolean var1, IProgressUpdate var2);
    033
    034        /**
    035         * Unloads the 100 oldest chunks from memory, due to a bug with chunkSet.add() never being called it thinks the list
    036         * is always empty and will not remove any chunks.
    037         */
    038        boolean unload100OldestChunks();
    039
    040        /**
    041         * Returns if the IChunkProvider supports saving.
    042         */
    043        boolean canSave();
    044
    045        /**
    046         * Converts the instance data to a readable string.
    047         */
    048        String makeString();
    049
    050        /**
    051         * Returns a list of creatures of the specified type that can spawn at the given location.
    052         */
    053        List getPossibleCreatures(EnumCreatureType var1, int var2, int var3, int var4);
    054
    055        /**
    056         * Returns the location of the closest structure of the specified type. If not found returns null.
    057         */
    058        ChunkPosition findClosestStructure(World var1, String var2, int var3, int var4, int var5);
    059
    060        int getLoadedChunkCount();
    061
    062        void func_82695_e(int var1, int var2);
    063    }