In advance, sorry if I didn't find this topic already! I used the search function to no success.
Rationale: The ongoing discussion about different "green" generators being overpowered still stands at a point where solar energy is basically still hated by hardcore players, mainly for its "zero need for maintenance" policy, while other generators are not worthwhile for the beginner.
Idea: Make generatos biome-dependent. Alternatively, re-formulate the biome criteria into fine-granular, block-based ones. This post will try to stick to a "good-neutral-bad" biome policy and to suggest block-based alternatives.
Solar panels tend to be very inefficient when it's hot. Therefore, how about a 50% malus in desert biomes, making them not viable for use there. If desired, a 25% bonus in snow biomes can apply. A block-based criterion could include proximity to lava, working machines, each other or world height, although I personally would like to discourage making solar panels more efficient at higher levels because that would put it in direct competition to wind mills.
(Solar: -50% desert, +25% snow, proximity to hot blocks)
Wind mills already have a block-based world height criterion in place, but the more topographical differences a terrain has, the stronger winds become there. Therefore, plains biomes would almost be still, making wind mills work at only 50% of their efficiency. Placed in an extreme hills biome, though, they may yield an extra 50% power. Be warned: This also means they break more easily in extreme hill biomes. Although no additional block-based criteria are really needed, cave winds will only rarely be as strong as winds on the surface. Sunlight is detectable I think, so one criterion could be to check whether the wind mill can be sunlit. This could cause problems with glass-encased wind mills, however.
(Wind: -50% plains, +50% extreme hills, no additional suggestions)
Water mills operate finer and thus, a biome criterion seems strange, but to encourage offshore plants and facilitate early game play, ocean and river biomes could give a 50% and 25% bonus, respectively. However, due to high evaporation, water mills are nearly useless in desert biomes. Also, the high amount of organic matter in swamp water makes it difficult for the blades to rotate, so that these two biomes suffer a -50% penalty each. Block-based criteria include whether the water is flowing (this was suggested before), whether it's organic water, whether the surrounding water is surrounded by water, solid blocks or grainy blocks that let water through easily (such as sand or gravel). An additional idea would be the "gulf stream scenario": in ocean biomes, if a water mill is submerged deeply enough, it catches a constant underwater stream that gives it an additional bonus, encouraging deep-sea energy stations that are difficult to build and use, yet cheap to procure. None of this applies to manned mills.
(Water:-50% desert, -50% swamp, +50% ocean, +25% river, depth of submerging, water flow)
Finally, geothermal generators are very strong as of now, but why not consider making them 50% more powerful when in the Nether? You will either have to move your base to the Nether or to transport the energy by hand. Generators will not work when no player is in the Nether, so it's not a big buff to me. In turn, snow biomes could have the opposite effect. Block-based criteria include proximity to lava, similarly to water mills.
(Geothermal: +50% Nether, -50% snow, proximity to lava)
While regular generator keep their universality, I feel nuclear reactors are still less practical than solar panels. That is a good thing, though: Safe nuclear reactors aren't what you're supposed to do, are they? Also, I can't think of a biome-based criterion.
Summary: Generators have biome-dependent efficiency. Choosing a place to settle down influences choice of generators and vice versa. There is a "best choice" for almost every place. If biome basedness is bad, block proximities and height can influence efficiency as well, or in addition. In addition, the "neutral" value can be lower than the generators' current efficiencies (config file!).
All percentages, constants, literals and criteria are examples. If 50% is too little, make it 80%. Thanks for reading!