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