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 }