net.minecraft.world.chunk

## Interface IChunkProvider

- All Known Implementing Classes:
    ChunkProviderClient, ChunkProviderEnd, ChunkProviderFlat, ChunkProviderGenerate, ChunkProviderHell, ChunkProviderServer

      public interface IChunkProvider

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canSave()` Returns if the IChunkProvider supports saving.
    `boolean` | `chunkExists(int i, int j)` Checks to see if a chunk exists at x, y
    `ChunkPosition` | `findClosestStructure(World world, String s, int i, int j, int k)` Returns the location of the closest structure of the specified type.
    `int` | `getLoadedChunkCount()`
    `List` | `getPossibleCreatures(EnumCreatureType enumcreaturetype, int i, int j, int k)` Returns a list of creatures of the specified type that can spawn at the given location.
    `Chunk` | `loadChunk(int i, int j)` loads or generates the chunk at the chunk location specified
    `String` | `makeString()` Converts the instance data to a readable string.
    `void` | `populate(IChunkProvider ichunkprovider, int i, int j)` Populates chunk with ores etc etc
    `Chunk` | `provideChunk(int i, int j)` Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the specified chunk from the map seed and chunk seed
    `void` | `recreateStructures(int i, int j)`
    `boolean` | `saveChunks(boolean flag, IProgressUpdate iprogressupdate)` Two modes of operation: if passed true, save all Chunks in one go.
    `void` | `saveExtraData()` Save extra data not associated with any Chunk.
    `boolean` | `unloadQueuedChunks()` Unloads chunks that are marked to be unloaded.

- - ### Method Detail

    - #### chunkExists

          boolean chunkExists(int i,
                            int j)

      Checks to see if a chunk exists at x, y

    - #### provideChunk

          Chunk provideChunk(int i,
                           int j)

      Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the specified chunk from the map seed and chunk seed

    - #### loadChunk

          Chunk loadChunk(int i,
                        int j)

      loads or generates the chunk at the chunk location specified

    - #### populate

          void populate(IChunkProvider ichunkprovider,
                      int i,
                      int j)

      Populates chunk with ores etc etc

    - #### saveChunks

          boolean saveChunks(boolean flag,
                           IProgressUpdate iprogressupdate)

      Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks. Return true if all chunks have been saved.

    - #### unloadQueuedChunks

          boolean unloadQueuedChunks()

      Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk.

    - #### canSave

          boolean canSave()

      Returns if the IChunkProvider supports saving.

    - #### makeString

          String makeString()

      Converts the instance data to a readable string.

    - #### getPossibleCreatures

          List getPossibleCreatures(EnumCreatureType enumcreaturetype,
                                  int i,
                                  int j,
                                  int k)

      Returns a list of creatures of the specified type that can spawn at the given location.

    - #### findClosestStructure

          ChunkPosition findClosestStructure(World world,
                                           String s,
                                           int i,
                                           int j,
                                           int k)

      Returns the location of the closest structure of the specified type. If not found returns null.

    - #### getLoadedChunkCount

          int getLoadedChunkCount()

    - #### recreateStructures

          void recreateStructures(int i,
                                int j)

    - #### saveExtraData

          void saveExtraData()

      Save extra data not associated with any Chunk. Not saved during autosave, only during world unload. Currently unimplemented.