[2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Bugs that are actually features.
eugenekay
Filter Inserter
Filter Inserter
Posts: 825
Joined: Tue May 15, 2018 2:14 am
Contact:

[2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by eugenekay »

On today's episode of "Editor mode shenanigans", I found a (very small) difference in how Assembling Machines (or derivatives) receive/handle Settings Pasting while the Game is not Ticking. This is probably another intended corner-case; but as it was so surprising I am raising my hand to ask if this is a Bug or not. :-)

What did you do?
  • New Scenario (or Load Attachment)
  • Place three Assemblers, connected by a Circuit Network (or use Blueprint)
  • Leave one unconfigured (Left)
  • Configure a Recipe on one of them (Middle)
  • Configure "set Recipe" on the last (Right)
  • Shift+Right-Click the Right assembler --> Shift+Left-Click Left/Center assembles
What happened?
Middle machine accepts "Set Recipe" toggle, but the Recipe stays set until the Tick Once button is used.
Screenshot 2025-04-09 120404.png
Screenshot 2025-04-09 120404.png (313.62 KiB) Viewed 486 times
What did you expect to happen instead? It might be obvious to you, but do it anyway!
Recipe would instantly un-set if the machine is Empty and Idle (which it is, since this map has never Ticked).
Screenshot 2025-04-09 120425.png
Screenshot 2025-04-09 120425.png (344.51 KiB) Viewed 486 times
Does it happen always, once, or sometimes?
  • When the game is not Ticking
  • When a Recipe has already been manually set on the Pasted machine
I strongly suspect that the "Update" of the middle Assembler is being deferred until the next Tick, to permit an Inventory check, etc.... but this does not seem necessary to Defer since this Update can be made by the player anyway by clicking the "Change Recipe" button! This action instantly transfers any items to the Editor-Controller's inventory - so it is not 100% clear what is/is not able to be changed without a Tick occurring.

I have searched for "Set Recipe"; the previous results/reports which seemed similar are for actual Gameplay issues with unexpected Recipes. I hope it's not a duplicate!

Thank you for reading!
Attachments
RecipeCopy.zip
(759.08 KiB) Downloaded 58 times
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4253
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by boskid »

Thanks for the report however there are no bugs here. Copy settings does not change recipe of assembler if the machine has a recipe set by control behavior. This is intentional because if you would be copying settings between two machines that see different signals on the input, if the recipe would be copied then for 1 tick the machine with settings pasted would have wrong recipe set.
eugenekay
Filter Inserter
Filter Inserter
Posts: 825
Joined: Tue May 15, 2018 2:14 am
Contact:

Re: [2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by eugenekay »

boskid wrote: Wed Apr 09, 2025 5:08 pmCopy settings does not change recipe of assembler if the machine has a recipe set by control behavior
For clarity, does "set by control behavior" mean "Player/Blueprint set the Recipe" (which is the case here), or is it referring to "changed by Circuit" (which did not happen; as no Tick occurred) ? I am just trying to grok what this means.


Thank you, I did not expect this to be a real Bug - it did/does seem inconsistent (even if only in my understanding of the Update/Tick cycle).
Last edited by eugenekay on Wed Apr 09, 2025 5:20 pm, edited 1 time in total.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4253
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by boskid »

eugenekay wrote: Wed Apr 09, 2025 5:17 pm For clarity, does "set by control behavior" mean "Player/Blueprint set the Recipe" (which is the case here), or is it referring to "changed by Circuit" (which did not happen; as no Tick occurred) ?
When assembler has any circuit wires connected and the "set recipe" checkbox is set, then assembler is considered as having recipe set by control behavior and copy settings will not attempt changing recipe.
eugenekay
Filter Inserter
Filter Inserter
Posts: 825
Joined: Tue May 15, 2018 2:14 am
Contact:

Re: [2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by eugenekay »

boskid wrote: Wed Apr 09, 2025 5:19 pm
eugenekay wrote: Wed Apr 09, 2025 5:17 pm For clarity, does "set by control behavior" mean "Player/Blueprint set the Recipe" (which is the case here), or is it referring to "changed by Circuit" (which did not happen; as no Tick occurred) ?
When assembler has any circuit wires connected and the "set recipe" checkbox is set, then assembler is considered as having recipe set by control behavior and copy settings will not attempt changing recipe.
Ahhh OK, you are referring to the source of the copy/paste operation, as being in "Set by control behavior" state, so that's why it isn't being Copied over... I was thinking about things in terms of the Destination entity.
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4253
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.44] Pasting Assembler Settings in Editor does not immediately overwrite Recipe

Post by boskid »

To be accurate, it is the copy target that rejects changing recipe. In this case copy settings consists of 2 separate pieces being copied: first is control behavior which will copy the "set recipe" checkbox from source to target assembler, and once this is set the recipe is copied if target has recipe not set by control behavior. You may observe this by copying settings from assembler with wires and "set recipe checked" onto an assembler that has no wires: "set recipe" will be copied but it will remain hidden and ineffective due to lack of wires, however the current recipe from the source assembler will get copied even if it was set by control behavior.
Post Reply

Return to “Not a bug”