Class BlockPopulator
For example, generating glowstone inside the nether or generating dungeons full of treasure
A BlockPopulator can be used in combination with a custom ChunkGenerator
by returning it in the method ChunkGenerator.getDefaultPopulators(World)
or by adding it manually to the worlds populator list returned by World.getPopulators()
.
When adding a BlockPopulator manually to a world it is recommended to do so during
the WorldInitEvent
.
-
Constructor Summary
-
Method Summary
-
Constructor Details
-
BlockPopulator
public BlockPopulator()
-
-
Method Details
-
populate
@Deprecated(since="1.17.1") public void populate(@NotNull World world, @NotNull Random random, @NotNull Chunk source) Deprecated.Populates an area of blocks at or around the given chunk.The chunks on each side of the specified chunk must already exist; that is, there must be one north, east, south and west of the specified chunk. The "corner" chunks may not exist, in which scenario the populator should record any changes required for those chunks and perform the changes when they are ready.
- Parameters:
world
- The world to generate inrandom
- The random generator to usesource
- The chunk to generate for
-
populate
public void populate(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ, @NotNull LimitedRegion limitedRegion) Populates an area of blocks at or around the given chunk.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop
This method should never modify a
LimitedRegion
at a later point of time.This method must be completely thread safe and able to handle multiple concurrent callers.
No physics are applied, whether or not it is set to true in
BlockState.update(boolean, boolean)
Only use the
BlockState
returned byLimitedRegion
, never use methods from aWorld
to modify the chunk.- Parameters:
worldInfo
- The world info of the world to generate inrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunklimitedRegion
- The chunk region to populate
-
populate(WorldInfo, Random, int, int, LimitedRegion)