Page 1 of 1

[2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Posted: Tue Aug 04, 2026 4:16 pm
by Yoyobuae
What did you do?
I have two pumps feeding into a pipeline, one pump feeds crude oil and one pump feeds water, and then this pipeline connected to both inputs of an oil refinery with Adv Oil Processing recipe set.

There's a circuit connecting the oil refinery, a pipe and both pumps with the following circuit settings:
  • Oil refinery: "Output: Read contents" is the only thing enabled
  • Pipe: "Output: Mode of operation" is set to "Read pipeline contents"
  • Right Pump: "Input: Enable If" condition is set to "Crude-oil < 250"
  • Left Pump: "Input: Enable If" condition is set to "Water < 125"
Savefile:
Cannot read fluid content of pumps.zip
(529.35 KiB) Downloaded 12 times

Blueprint:

What happened?
Both pumps activate (since the pipe and oil refineries are initially empty) as expected.

In this case, water "wins" and takes the pipeline and flows into the oil refinery. Different runs might have oil "win" first instead (this is expected).

240 units of water in total flows thru the left pump and into the pipeline/oil refinery:
Screenshot_20260804_105749.png
Screenshot_20260804_105749.png (223.32 KiB) Viewed 241 times

150 units of water flow into the oil refinery filling up the input buffer:
Screenshot_20260804_105118.png
Screenshot_20260804_105118.png (308.45 KiB) Viewed 241 times

90 units of water are left sitting on the pipeline, with nowhere to go:
Screenshot_20260804_105423.png
Screenshot_20260804_105423.png (183.08 KiB) Viewed 241 times

400 units of crude oil are stuck inside the right pump:
Screenshot_20260804_105552.png
Screenshot_20260804_105552.png (202.99 KiB) Viewed 241 times
The oil refinery cannot begin crafting due to lack of crude oil, crude oil cannot reach the oil refinery due to water in pipeline, water in pipeline cannot go away since input buffer in oil refinery is full, input buffer cannot empty out because oil refinery cannot craft. IE. it's deadlocked.
What did you expect to happen instead?
I expected the pumps to be limited by the circuit conditions I set, maybe going a bit over the limit but not overshooting the target amount by 90 or even 400.

With the Factorio as it currently stands (as of version 2.1.12) it is impossible to set circuit conditions such that this setup can work.

The crux of the problem is the impossibility of accounting for the contents inside the fluid pump itself. So each pump might overshoot the target fluid amounts by 1~400 fluid units, randomly.
Does it happen always, once, or sometimes?
That's the weird part, with a small setup like this then it will certainly happen nearly always. But scaling the same setup to 8~10 oil refineries then it might never happen (assuming the circuit conditions are set just right).

It just feels wrong there's a random amount of fluid inside each pump that's invisible to the circuit network, even thru the "Read pipeline contents" feature. Pumps are required to control fluid flow thru pipelines, so this source of randomness cannot be easily avoided either.

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Posted: Tue Aug 04, 2026 6:16 pm
by raiguard
Thanks for the report, but this is not a bug. The "pipeline" only includes the pipes, not the pumps.

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Posted: Wed Aug 05, 2026 1:54 pm
by robot256
Even if it had worked like you expected, it would still overshoot by 0-20 units of fluid every time. The pump only checks the circuit condition once per tick and moves up to 20 units of fluid per tick ((1200/sec) / (60 ticks/sec)). Sushi pipes only work when you have circuit-controlled filtered purge pumps to remove each fluid before adding a new one.

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Posted: Wed Aug 05, 2026 8:43 pm
by Yoyobuae
raiguard wrote: Tue Aug 04, 2026 6:16 pm Thanks for the report, but this is not a bug. The "pipeline" only includes the pipes, not the pumps.
But there's no way at all to include the pumps in circuit network calculations, because pumps lack a "Read contents" feature.
robot256 wrote: Wed Aug 05, 2026 1:54 pm Even if it had worked like you expected, it would still overshoot by 0-20 units of fluid every time. The pump only checks the circuit condition once per tick and moves up to 20 units of fluid per tick ((1200/sec) / (60 ticks/sec)). Sushi pipes only work when you have circuit-controlled filtered purge pumps to remove each fluid before adding a new one.
0-20 is way better than 0~400. 20x better in fact.