Hello Technical Support or Dear Developers, I have a problem with a circuit, and suspect the bug in the combination "define the blueprint and read out content".
I'm using Faktorio: Edition: Space Age Version: 2.0.32 Without Mods (Vanilla)
I'm currently building the Bigger Starship for Aquilo with many extras that I think are useful. Among them is my own version of asteroid processing. I will try to describe to you the place where I have the bug.
It is about the function "Set Blueprint" with the toolip description: Defines the blueprint based on the first valid blueprint signal, the first valid object signal or the first valid object signal. I think that's exactly what the "Set Blueprint" function doesn't do.
I think according to the description "Set blueprint" should be able to manage priorities and work like this: If active, then look in the circuit network for blueprint, blueprint found first valid one in 4th place, then I'll do that. or No blueprint there, then I'll look for items, have found item for a valid blueprint, in 8th place, then I'll do that or No blueprint, no item there, then I look for object. If nothing is found, then I don't do anything.
I think at the moment the function only looks at the first signal in the circuit net. There's an asteroid chunk and I don't do anything. But I can't determine that my "blueprint" is in the first place. It feels like I'm always in last place.
I can't determine whether I reserve the red signal for blueprint and the green signal for "read content".
A cooking recipe for this would also be very helpful, because the blueprint function is quite new, isn't it?
Ich gebe euch die Blueprint für das Raumschiff auf dem ich den Bug habe. Das könnte euch helfen. Dort habe ich 2 verschiedene Einstellungen Integriert. Mit Blaupausen und Items.
I also give you my first spaceship design. That you know that everything worked. The other is the further development of it.
Thank you for your understanding
Best regards Tiandel
Define the building plan & read out the content
Define the building plan & read out the content
- Attachments
-
- small predecessors - Blueprint-Code.txt
- Blueprint Code small predecessors
- (43.68 KiB) Downloaded 25 times
-
- major successor blueprint code bug.txt
- Blueprint Code Space Ship Aquilo Bug
- (216.73 KiB) Downloaded 24 times
-
- Image Control Input Astro Ressources
- Steuerung Input Asteroiden.jpg (101.08 KiB) Viewed 532 times
-
- Image Date Input
- Daten Input.jpg (245.39 KiB) Viewed 532 times
-
- Image Date Input
- Daten Input Schaltung.jpg (231.84 KiB) Viewed 532 times
-
- Image Place of Interest Space Ship Aquilo Bug
- Ansicht Broblem Ort.jpg (818.11 KiB) Viewed 532 times
-
- Image Control 2
- Ansicht Broblem Ort Steuerung 2.jpg (286.32 KiB) Viewed 532 times
-
- Image Control 1
- Ansicht Broblem Ort Steuerung 1.jpg (645.44 KiB) Viewed 532 times
-
- Image Settings Factory shredder
- Ansicht Broblem Ort Schaltungsnetz.jpg (113.23 KiB) Viewed 532 times
-
- Image Red Signals
- Ansicht Broblem Ort Schaltungsnetz Rot.jpg (96.36 KiB) Viewed 532 times
Re: Define the building plan & read out the content
Factorio has a fixed internal item order, not necessarily the same order as you see the items the combinator GUI. If there are multiple recipe signals on the circuit network and some machine has to pick one, it will pick the one that comes first in that fixed internal item order. You can see this order if you open the item picker. If items are on different tabs, the tab more to the left has higher priority. On the same tab, items more one the left and more on the top have higher priority.Tiandel wrote: Mon Jan 27, 2025 4:16 pm I think according to the description "Set blueprint" should be able to manage priorities and work like this: [...]
Example:
I defined this set of signals in a constant combinator: The order in the constant combinator doesn't matter at all.
For display, it's reordered according to the value. Highest value first (notice the hover popup) However, it's not the iron gear wheel that's set as recipe, it's the yellow belt, because it is on the leftmost tab of the item picker, and on that tab the leftmost item: Position on the item picker:
What you need to do is making sure just one recipe is sent to the machine for setting the recipe. Not multiple ones.
Additionally, if you set a recipe and read the ingredients or the current components in the machine, these have always lower precedence than the recipe itself in the fixed order, so the ingredients will not replace the recipe if both are present as signals on the circuit wire. So it does work if you set recipe and read ingredients at the same time.
In case you want to read ingredients/current components from a machine while you also set the recipe, use both wire colors. With one color set the recipe. It gets the recipe merged with the ingredients. The other color will only contain the ingredients, not the recipe.
Last edited by Tertius on Mon Jan 27, 2025 8:03 pm, edited 1 time in total.
Re: Define the building plan & read out the content
On the topic of recipe switching, when a machine switches recipe, its current input/output slots need to be emptied before the recipe change gets accepted.
In your setup of two crushers inserting leftover chunks into each other, it is possible that when both have produced a chunk and want to switch the recipe, they will be unable to do so, making both of them stuck.
In your setup of two crushers inserting leftover chunks into each other, it is possible that when both have produced a chunk and want to switch the recipe, they will be unable to do so, making both of them stuck.
Re: Define the building plan & read out the content
It's about the factory reading the contents and receiving the blueprint. At the same time. That's why I have the problem that there is no response from the correct blueprint. I see this as a bug.
Perhaps it would be more helpful to also specify whether it only reacts to a blueprint or item or object. Or item readout on Green Signal. Or I get a solution to my asteroid processing problem. At the moment, it's only possible to use either or, but both at the same time just doesn't work that way. I can't get any further, the processing plant is constantly standing.
Perhaps it would be more helpful to also specify whether it only reacts to a blueprint or item or object. Or item readout on Green Signal. Or I get a solution to my asteroid processing problem. At the moment, it's only possible to use either or, but both at the same time just doesn't work that way. I can't get any further, the processing plant is constantly standing.
Re: Define the building plan & read out the content
An ability to select which wire a machine reads from / writes to has been suggested and might come in 2.1, see Please, PLEASE make circuit connection behavior configurable per wire.
I confirmed that a crusher will prefer recipe signals before trying to autoassign a recipe based on ore/chunk signals.
Your solution of sending recipe signals is a correct one. Ore/chunk signals on the wires coming from crushers' Read contents functionality do not affect recipe selection in this case.
If you're referring to a situation like this: where crushers have no set recipes, that is precisely due to what I referred to earlier.
For example, oxide chunks crushers have an initial recipe of Advanced oxide asteroid crushing. They produce ice and calcite.
Once the amount of calcite on belts exceeds 50, the deciders switch the recipe signal. Crushers finish the current craft cycle, then try to switch the recipe to (basic) Oxide asteroid crushing.
This involves putting all input chunks into trash slots. (A suggestion to improve this behaviour has been submitted, see Don't trash shared ingredients on recipe change / Improve 'Set Recipe' throughput).
As generally both crushers are synced, the situation is as follows:
They both have oxide chunks in their trash slots. Due to that the new recipe can't be set. Because the recipe is not set, they don't accept oxide chunks. So the inserters intended to empty the chunks can't do it.
A solution to this is to make sure chunks have some belt buffer space to be emptied into, for example:
I confirmed that a crusher will prefer recipe signals before trying to autoassign a recipe based on ore/chunk signals.
Your solution of sending recipe signals is a correct one. Ore/chunk signals on the wires coming from crushers' Read contents functionality do not affect recipe selection in this case.
If you're referring to a situation like this: where crushers have no set recipes, that is precisely due to what I referred to earlier.
For example, oxide chunks crushers have an initial recipe of Advanced oxide asteroid crushing. They produce ice and calcite.
Once the amount of calcite on belts exceeds 50, the deciders switch the recipe signal. Crushers finish the current craft cycle, then try to switch the recipe to (basic) Oxide asteroid crushing.
This involves putting all input chunks into trash slots. (A suggestion to improve this behaviour has been submitted, see Don't trash shared ingredients on recipe change / Improve 'Set Recipe' throughput).
As generally both crushers are synced, the situation is as follows:
They both have oxide chunks in their trash slots. Due to that the new recipe can't be set. Because the recipe is not set, they don't accept oxide chunks. So the inserters intended to empty the chunks can't do it.
A solution to this is to make sure chunks have some belt buffer space to be emptied into, for example:
Re: Define the building plan & read out the content
After 3 days of thinking, I found the solution for my compact asteroid processing. I only had to intermediate the "contents of the factory" outside and read it there. Here's the code from the solution.
Trozdem wäre es toll den Bug zu lösen, so dass man später beide Funktionen über die Fabrik steuern kann.
Trozdem wäre es toll den Bug zu lösen, so dass man später beide Funktionen über die Fabrik steuern kann.
- Attachments
-
- Lösung
- Bauplan und Inhalt auslesen funktioniert.jpg (1.2 MiB) Viewed 358 times