I'd like to make a mod that lets one decide which blocks to generate based on a config file. I made this mod back in Minecraft Beta 1.7/1.8 (Link) without the use of Forge or Modloader, but I'm interested in making a version that could be compatible with a wide range of other mods.
Currently I'm using my own generator class weighted to be called as late as possible and checking every block, changing any that differ from the config. This has the benefit of working with just about any mod. Unfortunately it doesn't seem to work well with leaves (sometimes half a tree seems to keep normal leaves), nor would it work with any generation occurring after the initial generation of a chunk (for example, tree gen from sapling growth). It also seems like it would be much slower going through every block after generation rather than just changing blocks the first time they're generated.
Now I'd like to know if there's a better way of doing this. Perhaps a solution utilizing ASM to inject my mod code into vanilla generation code? This wouldn't necessarily work with mod generation, but it should work as well as the old mod did at least, as well as being compatible with other mods. I'm not familiar with ASM, but I can look into it if it's the only way.
Are there any relevant Forge events I can use; Something that gives me an array of blocks that I can translate through my configs to create a new array to generate with. This would allow me to even change mod generation if such events were in place, but I can't seem to find anything that would help. I hope I'm just looking in the wrong places.
TLDR; I want to remake my WTF mod for 1.7.2 and would be interested to know the most efficient way to do block replacement on world/chunk generation using Forge. Preferably covering mod generation and tree generation, as well as ores and all of the filler blocks (stone, dirt, grass, etc).