[2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Bugs that are actually features.
Jouster500
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Aug 26, 2024 12:52 am
Contact:

[2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Post by Jouster500 »

What did I do?: Loaded mods were Space age, quality, elevated rails and base mod.

Attempted to change the recipe of a chemical plant when its outputs were full via circuits. I waited for the machine to fill up before activating the constant combinator that would have set a new fluid recipe.

What happened?: The new recipe was not acknowledged, and the output fluid within the chemical plant was not voided. Once the output no longer became full, the recipe switch was acknowledged.

What did you expect to happen instead?: I expected that either the recipe switch would be acknowledged despite being full, or the fluid would void itself to make room for the new recipe. According to Rseding91 in another bug report, the intended behavior is to void the fluid once the recipe switch is acknowledged.

Does it happen always, once, or sometimes?: Always happens.

STEPS TO RECREATE
1.) Either load the following save
SPACE AGE Sandbox in space.zip
The main save. You should be on a platform with a setup similar to the blueprint.
(20.15 MiB) Downloaded 16 times
, or the following blueprint which best encapsulates the behavior.
You should see a setup that looks like the following.
A image of the setup that the blueprint or save will take you to. You may follow the instructions within the combinators, or on the bug report itself.
A image of the setup that the blueprint or save will take you to. You may follow the instructions within the combinators, or on the bug report itself.
02-15-2025, 22-30-07.png (1.26 MiB) Viewed 365 times
2.) Activate state 2, (have a chemical plant fill up on its output completely) and wait for the machine to fill up on ice and ammonia.
3.) When the machine is filled, activate the lubricant combinator. Note that the machine will still be stuck on ammonia.
A look at the bugged state.
A look at the bugged state.
02-15-2025, 22-41-10.png (1.33 MiB) Viewed 363 times
At this point, activating the reset combinator will turn on the pumps clearing the chemical plant enough to trigger a fluid void, and switch to the lubricant recipe.
Attachments
factorio-current.log
Log of the game.
(18.85 KiB) Downloaded 22 times
eugenekay
Filter Inserter
Filter Inserter
Posts: 504
Joined: Tue May 15, 2018 2:14 am
Contact:

Re: [2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Post by eugenekay »

Jouster500 wrote: Sun Feb 16, 2025 3:39 amAccording to Rseding91 in another bug report, the intended behavior is to void the fluid once the recipe switch is acknowledged.
I have stepped through this tick-by-tick, and it looks like it is working exactly correctly to me.

1) The Chemical Plant is blocked from Switching Recipes because of "Output Full".
2) The Pump activates, removing some fluid from the Output buffer
3) Chemical Plant is no longer Blocked; Recipe changes on next Tick
4) Remaining Ammonia is Voided.
5) Chemical Plant begins outputting Lubricant.

Additionally, your Blueprint "State 1 Control" is configured with the same Logistic settings as "State 2 Control".... meaning that the Demonstration setup only ever tries to produce "Ammoniacal solution separation".... I had to manually change the "State 1 Control" over to "Lubricant".... :-)
Jouster500
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Aug 26, 2024 12:52 am
Contact:

Re: [2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Post by Jouster500 »

I have stepped through this tick-by-tick, and it looks like it is working exactly correctly to me.

1) The Chemical Plant is blocked from Switching Recipes because of "Output Full".
2) The Pump activates, removing some fluid from the Output buffer
3) Chemical Plant is no longer Blocked; Recipe changes on next Tick
Therein lies the bug, or what I presume to be. Its an inconsistency between behaviors, as when the fluid isnt full in state 1, it voids the fluid fine. Why doesnt this apply when in state 2, where if the fluid gets to an "output full" state, it must be cleared of some fluid before it can void it all as part of recipe switching?
I had to manually change the "State 1 Control" over to "Lubricant"....
You were supposed to manually activate the constant combinator with the lubricant recipe anyways. Perhaps my instructions weren't clear enough?
Muche
Smart Inserter
Smart Inserter
Posts: 1006
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: [2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Post by Muche »

I also think it's working correctly.

In scenario 1, the chemplant ends in a Ingredient shortage state, so enabling the Lubricant recipe works and the recipe can be switched (with some fluid voiding).
In scenario 2, the chemplant ends in an Output full state. Crucially, the craft cycle has not finished yet (it's at 100%), because the fluid output is full.
Once the output slot/fluidbox is empty enough, recipe's Ammonia is output there, Ice as well, and recipe change to Lubricant is initiated - the active recipe is cleared, the rest of Ammonia is voided, Ice is waiting in the dump slot. After the Ice is removed, the Lubricant recipe has finished setting.
Jouster500
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Aug 26, 2024 12:52 am
Contact:

Re: [2.0.32] Recipe circuit setting a full chemical plant does not void fluid outputs

Post by Jouster500 »

Crucially, the craft cycle has not finished yet (it's at 100%), because the fluid output is full.
Once the output slot/fluidbox is empty enough, recipe's Ammonia is output there, Ice as well, and recipe change to Lubricant is initiated
That tracks. Without knowing the underlying intentions, it was hard to guage if this was a bug or not. If an output full state is treated identically to a recipe that is still being crafted, then it seems consistent. Under the pretense that the machine was considered finished when output was full, then it could be perceived to be a bug.
Post Reply

Return to “Not a bug”