Adding custom world generator

@Inscrutable In this example plugin no new world generators are created. To use my custom generator I would seed to add command to create new world with that generator or use it in existing world. And when world generator onfiguration is implemented (something like setting generator in bukkit.yml for bukkit?) it wouldn’t work. But it should be good enough for testing.

@Deamon Nice explanation. As I understand it, to replace everything I need to implement WorldGeneratorModifier and replace BiomeGenerator, BaseGeneratorPopulator and all Populators with my own implementations.
Are you planning to add some other way to replace world generator? Maybe adding custom WorldType with it’s own world generator?

There is also WorldGenerator class that isn’t mentioned in the WorldGen documentation. World class has setWorldGenerator method. As currently there is no configuration for modifiers yet, I think I can use this as well.

You also wrote that Chunk size may not be 16x256x16 with other implementations.
If it’s higher - it’s probably not an issue.
To make difference it must be lower, so together with ChunkLayout class it seems to be some kind of support for 3d chunks implementations. I’m almost sure that they will be incompatible with custom world generation in SpongeAPI (maybe except biome generation). As an example, Tall Worlds mod uses 4 generation stages instead of 2.
And plugins will most likely ignore chunk y coordinate as long as there are no other implementations.