MinecraftForge/MinecraftForge — pull request #265 by ScottKillen (2012-11-19 05:09:33+00:00)
Title: Terrain Generation Events

### Summary ###
This change adds several Forge events to the terrain gen system, allowing mods to have complete control over vanilla terrain generation.

### Method ###
This is a second iteration, adapted to feedback from, and including ideas of, LexManos and cpw.

### List of Events Added ###
#### WorldType Events ####
- *BiomeSize* - Allows setting biome size.
- *InitBiomeGens* - Allows replacement of the biome layer generators.

#### Biome Events ####
- *CreateBiomeDecoratorEvent* - Allows replacements of a biome's BiomeDecorator.
- *DecorateBiomeEvent* - A series of events that allows precise control over biome decoration.
- *GetVillageBlockID* - Allows control over how village blocks are substituted by biome.
- *GetVillageBlockMeta* - see above.
- *GetBiomeGrassColor* - Allows mods to override the biome coloring mechanism for grass.
- *getBiomeFoliageColor* - Allows mods to override the biome coloring mechanism for foliage.
- *OreGenEvent* - A series of events that allows precise control over ore generation

#### ChunkProvider Events ####
- *ReplaceBiomeBlocks* - Allows custom block replacement for biomes.
- *InitNoiseField* - Allows replacement of the noise field generated for terrain
- *PopulateChunkEvent* - A series of events that allows precise control over terraforming.

#### World Events ####
- *SaplingGrowTreeEvent* - Allows control over what actually grows from vanilla saplings

#### Miscellaneous ####
- *InitNoiseGens* - Allows replacement of noise generators.
- *InitMapGenEvent* - A series of events allows control of chunk map feature generators.