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 recreateStructures(int var1, int var2);
063    }