GregTechCEu / GregTech-Modern

GregTech CE Unofficial for modern versions
GNU Lesser General Public License v3.0
291 stars 172 forks source link

Multiblock boiler pollution scales strangely with fuel burn duration #1906

Open ZSusskind opened 2 months ago

ZSusskind commented 2 months ago

Checked for existing issues

Tested latest version

GregTech CEu Version

v1.4.0 build 1067

Minecraft Version

1.20.1

Recipe Viewer Installed

None

Environment

Singleplayer

Cross-Mod Interaction

No

Other Installed Mods

None

Expected Behavior

The rate at which multiblock boilers produce pollution should be independent of their fuel type.

Actual Behavior

A constant amount of pollution instead appears to be produced for each item burned. This means that boilers using fuels with short burn durations will produce massive amounts of pollution, while boilers using fuels with very long burn durations will produce essentially none.

Steps to Reproduce

1) Construct two large bronze boilers (or similar), several chunks away from each other. I used all LV hatches, but I don't think the exact choice matters. 2) Fuel one boiler using an item with a short burn duration (e.g., sticks), and the other with an item with a long burn duration (e.g., blocks of coke). 3) Observe the pollution emitted by both boilers using a portable debug scanner. The boiler with the short-duration fuel will emit vastly more pollution.

Additional Information

This is likely because the getHazardStrengthPerOperation() function in api/machine/feature/multiblock/IMufflerMachine.java does not consider the duration of operations, and burning a single fuel item is treated as an operation. Boilers emitting more pollution with low-quality fuels could be an interesting mechanic, but it's excessive in its current form and results in silly behaviors like blocks of charcoal creating 9x less pollution than individual charcoal items.