How would you go about doing the pollution?
Since I'm more interested in the balancing mechanic than anything else, I'm keeping it really simple:
Any machine can generation pollution of one of three types:
- Local (this chunk)
- Dimensional (This dimension)
- Universal (this world. And yes, this is pretty unrealistic, but I'll provide a hook for it regardless. It may make sense for some themed packs.)
Every cycle (tick or second, probably latter) that a machine is running, it spills pollution into the types above as configured by the user/packdesigner. So, maybe you have things like lava boilers generate 30 units of Local pollution and 2 units of dimensional pollution.
Every cycle, the world then cleans up X pollution of each type, as configured by the user. So, perhaps 100 units of Local pollution removed from each polluted chunk (stored in a simple hash table btw), and 10 units subtracted from each dimension, etc. This ensures you never get penalized for keeping pollution small scale.
Every cycle, after cleanup, X/Y units of pollution are spread out into adjacent chunks. You can't just keep your lava boilers in one chunk and your macerators in another. They'd need to be pretty far apart to avoid contamination, and even then eventually Dimensional pollution may bite you in the ass.
Every tick that a machine is running, it checks the local+dimensional pollution level, and runs a risk of "losing" a progression tick if the area is polluted. In other words it would have a chance to to consume fuel/electricity/steam/whatever, but not progress further on whatever task its working on.
There's all kinds of fun things that people always want to add to this: destroying crops, acid rain...you know, all the usual crap. I might add all that later, but the critical features are just the arrays and math listed above.
Bonus if I can provide feedback though: I'd really want the sky color to get smoggier, and possibly add a gui element that indicates the smog level of the chunk you're in. In-game user feedback is critical.
Why GT only? Two reasons: I suck at modding and only know how to tweak GT so far. Also, its really hard to impact the running efficiency of other mods' machines (even via reflection). That said, I could see me investigating a universal pollution mod one day and simply making it mod-compatible one-by-one as needed.