Valves


Adds three seperate animated valves for pipes: overflow, top-up and one-way/check valves. Inspired by Flow Control and Advanced Fluid Handling. The thresholds can be configured using shortcuts. Uses valve functionality provided by Factorio.

Utilities
2 months ago
2.0
50.4K
Logistics Fluids

g [Addressed] Critical Bug with overflow+pump

3 months ago
(updated 3 months ago)

Hello!

I'm not sure if this was a recent update which broke this (as I know valves were added into the game itself, etc), or if I just hadn't set up this exact thing and noticed its incorrect behavior before.

[pipe system A]->Overflow valve->pump->[pipe system B] is broken.

Expected behavior: When A is over "X% full", we'll go with 50% for this example, then it would overflow into the pump, which would then "pressurize" pipe system B. Such that after enough resources have overflown, system B would eventually get 100% full. I used this system all the time in Factorio 1.1 and modded runs and such.

Actual behavior: the pump pulls out of the overflow valve REGARDLESS of its "fullness". Yep. It just 100% empties system A. Even though there's an overflow valve that should be stopping flow when system A isn't actually full enough.

I'm not sure if this is even fixable or is some weird result of the new ways that valves work and such, but I would consider it a fairly critical bug and hopefully some sort of fix can be found, as it's base-breaking level issues.

If a fix cannot be found/made, I would actually recommend adding a check for the overflow valve->pump placement combination and giving a warning to the player. As there's no reason they would assume that it would fail.

I'm not sure if top-ups have any issues, but I think they're fine. Guess it would be worth testing if pump->top up->system B doesn't overfill system B?

3 months ago
(updated 3 months ago)

Hello Krydax! Unfortunately, you are completely correct. This is quite a severe limitation, but unfortunately it is an engine limitation that popped up after moving to the new valve prototypes. Apparently if the devs want to support this configuration then they have to make other changes to pumps, etc, and they deemed it "not worth it" at the time. My goal was to add a warning system to the code as you suggest, but honestly it completely slipped my mind.

What I will do (when I find some time) is add some warning message when a new valve/pump is placed in that configuration. And also some type of message after the game load to show any remaining previous instances.

Sorry that you ran into this, can imagine that it can cause some headaches. And thanks that you reported it!

3 months ago

Would it work as expected if we added a pipe piece between valve and pump? Not great, and relies on the player to remember, but possible.

Yes, please add a warning system, and maybe an option to use the old valve that works as expected.

3 months ago

Would it work as expected if we added a pipe piece between valve and pump? Not great, and relies on the player to remember, but possible.

Yes, that will work fine.

maybe an option to use the old valve that works as expected.

This is way too much complexity. You can always downgrade your valves mod to version 1.2.1. But be warned, the mod does not support downgrading. So you would have to completely remove the valve mod, and readd it. If you're playing Py though it might be easier. They have a tool to convert my valves to Py valves. So use that to change all valves, remove Valves 2.0, save, install Valves 1.2.1. This comes with the caveat that you'd lose custom threshold settings :)

3 months ago

In the new release the mod will:
- Show a flying text when a bad connection is detected (even with ghosts).
- When some mod configuration changes it will check again and print out a list of all bad connections.
- Using the command /valves-find-bad-connections you can check for bad connections at any time.

3 months ago

Can you add a hotbutton so we don't have to remember the syntax for the console command?

3 months ago

The command is also listed in Factoriopedia, so you don't have to remember it. And I don't want to clog up the UI with yet another button. :)

New response