GregTechCEu / GregTech

GregTech CE 1.12 fork continuing progression and development
GNU Lesser General Public License v3.0
253 stars 176 forks source link

"Excess Fluid Voiding" in Super / Quantum Tanks not working correctly with automation and can void the wrong fluids #1872

Closed minghinshi closed 1 year ago

minghinshi commented 1 year ago

GregTech CEu Version

v2.6.2-beta

Modpack Used

No response

Addons Installed

Environment

Singleplayer

New Worlds

Yes

Cross-Mod Interaction

Yes

Expected Behavior

When a Super / Quantum Tank with Excess Fluid Voiding is enabled, and that it currently has a fluid inside, it should only accept the same fluid, voiding the extra fluid if the amount exceeds its capacity.

Actual Behavior

By connecting the aforementioned Super / Quantum Tank into an AE2 system with a fluid storage bus, through a fluid terminal, suddenly I was able to put a different fluid into the tank, but that different fluid will be voided.

Steps to Reproduce

https://github.com/GregTechCEu/GregTech/assets/66774379/64cedbd8-1fee-4c23-9df4-462667df9c57

Near the end of the video, I disabled Excess Fluid Voiding and tried to put lava into the AE2 system. The system correctly rejects it, confirming that the source of the bug is due to the Excess Fluid Voiding mode.

Additional Information

If a different fluid is put into the tank through its slots, then the tank correctly rejects the fluid.

image

I first found this bug in Nomifactory GTCEu 1.6.1-beta-3a, but I downloaded GTCEu and AE2 only for testing purposes and the bug persists, so I think it is a problem on GTCEu's side. If I were to guess, the Excess Fluid Voiding mode opens up a second slot for the excess fluid to go in, and it's supposed to accept the same fluid as the tank currently has. However, AE2 simply sees the extra slot and decides to put any fluid inside, and then the GT tank voids whatever is in the second slot immediately. When Excess Fluid Voiding is disabled, the second slot is closed and now the lava has nowhere to go in AE2, which is why the system rejects it.

There's an issue over in the Nomifactory GTCEu repo, not sure if it's mentioning the same issue: https://github.com/Nomi-CEu/nomi-ceu/issues/334

ALongStringOfNumbers commented 1 year ago

Could you retry this with the latest version of CEu? Attempting to reproduce this on the latest version and it seems fixed.

minghinshi commented 1 year ago

https://github.com/GregTechCEu/GregTech/assets/66774379/ededce36-fc52-46b5-b5c2-fdf15a7f4053

Sorry for the late reply. I just tested with GregTech 2.7.2-beta and AE2 v0.55.19. The bug still persists.

minghinshi commented 1 year ago

https://github.com/GregTechCEu/GregTech/assets/66774379/60c9db12-4a72-4957-86b8-c8a7224a8da8

In this video, I have 2 super tanks, one filled with lava, another with some water. I turned on excessive fluid voiding for the water tank, and then made the lava tank auto-output to a pipe connected to the water tank. Indeed, lava is being voided at a rate of 1,000 L/t (the throughput of the pipe), showing that the problem is native to GregTech. I changed the name of this issue to reflect that.

ghzdude commented 1 year ago

confirmed, can reproduce