CustomOreGen gives the user control over the placement of ores and other blocks via a sophisticated XML configuration language. Config authors can generate ores according to three main distribution types: veins, clouds and vanilla clusters. They can also substitute any block in the world with another one. The configurations can be parameterized by custom options (such as whether a particular ore should be deposited as a vein or cloud), and the player can configure those options through an in-game GUI during world creation. Default configurations are included for vanilla and most major mods.  See the wiki for documentation and the MCF post for more information.