public interface Populator
A populator has access to some nearby chunks, so it can more easily place objects that cross chunk boundaries.
Instead of directly implementing this interface, it may be easier to
 implement PopulatorObject instead, and use the RandomObject
 populator to get a populator that spawns that object.
Note that blocks are not captured, nor are events thrown for block changes from a populator performing block changes.
PopulatorObject| Modifier and Type | Method and Description | 
|---|---|
| PopulatorType | getType()Gets the type of this populator. | 
| void | populate(World world,
        Extent volume,
        Random random)Applies the populator to the given  Extentvolume. | 
| default void | populate(World world,
        Extent volume,
        Random random,
        ImmutableBiomeVolume virtualBiomes)Applies the populator to the given  Extentvolume. | 
PopulatorType getType()
It should be noted that the relationship of classes implementing
 Populator and PopulatorTypes is not a one-to-one
 relationship. That is to say that multiple different populators could
 return the same PopulatorType for the purposes of grouping (A
 plugin populator creating custom glowstone clusters may want to return
 PopulatorTypes.GLOWSTONE so that other plugins can recognize
 changes that it makes as being part of the generation of glowstone).
void populate(World world, Extent volume, Random random)
Extent volume. The entire volume
 of the given extent should be populated.
 
 Due to their transitive nature virtual biomes cannot be fetched from
 the given extent, instead your populator should override
 populate(World, Extent, Random, ImmutableBiomeVolume) to make use
 of the ImmutableBiomeArea which does contain virtual biome types.
world - The World within which the generation in happeningvolume - The volume to be populatedrandom - A random number generator. This random number generator is
        based on the world seed and the chunk position. It is shared with
        with other populatorsdefault void populate(World world, Extent volume, Random random, ImmutableBiomeVolume virtualBiomes)
Extent volume. The entire volume
 of the given extent should be populated.world - The World within which the generation in happeningvolume - The volume to be populatedrandom - A random number generator. This random number generator is
        based on the world seed and the chunk position. It is shared with
        with other populatorsvirtualBiomes - A biome volume for the extent being populated which
        includes any virtual biomes not persisted to the world