Set Recipe + Read ingredients
Posted: Mon Oct 21, 2024 5:17 pm
Ever since FFF #394 and #405 I've been daydreaming about a sushibelt setup with "generic" assemblers. In the forum thread for the FFF, I read others wondering how these two settings would interact, and now that 2.0 has hit I have spent all night tinkering in creative mode trying to figure out myself.
I have a row of assemblers, one set to Read ingredients only, with its recipe set to red circuits. Then 5 other assemblers all set to both Read Ingredients and Set Recipe. Since my goal was to combine this with the whole belt reader, I circled the whole thing in a conveyor belt and hooked that up to the same network to begin tinkering.
At first, basically nothing happened, because of an important functionality understanding I gained of "Set Recipe": When multiple item signals are present that it could try and build, it always tries to build the one that is "lowest" on the tech tree, which in the case of red circuits, is copper wire. All the rest of my assemblers got set to copper wire and nothing else.
I spent several hours tinkering with it and the closest I got to success was:
Whole belt reader sends belt contents to an accumulator to be inverted (Each * -1), which are then sent to the generic assemblers on the red wire. The green wire connects them all together, and is successfully "added" to the red wire inside each assembler, which means that the only things they will set their recipe to will be the things not already on the belt. It almost works beautifully, but quickly it gets into a state of flipping every tick, I think because the assemblers basically get into a fight over who will make the green circuits and who will make the copper wire. I spent another couple hours trying to incorporate the read recipe finished / read working signals to try and fix this but without success yet.
Looking at FFF #394, obviously I can tell a massive amount of combinators may be required to achieve what I want - basically, a true sushi conveyor belt, only items that enter the belt are things directly requested as ingredients by assemblers that can swap their recipes on the fly as needed by their peers, who are also generic. But I can't get past the issue of assemblers not "holding" their chosen recipes long enough.. they swap to a "lower" recipe, and then empty themselves out...
I wanted to discuss with others, possibly to get the answer, but also possibly to get a clue I may be missing. I know my own experience/understanding of combinators is severely lacking, I feel like the solution or at least the next step is right there if I could just see it.. I assume that everything needed is there in the game already, but if more could be added, perhaps if assemblers could be told to "Set Recipe" only to the value on a certain signal, instead of always the lowest tech item on all the networks attached to them, it would help a lot. But maybe I'm just not seeing why that's not really necessary..
I have a row of assemblers, one set to Read ingredients only, with its recipe set to red circuits. Then 5 other assemblers all set to both Read Ingredients and Set Recipe. Since my goal was to combine this with the whole belt reader, I circled the whole thing in a conveyor belt and hooked that up to the same network to begin tinkering.
At first, basically nothing happened, because of an important functionality understanding I gained of "Set Recipe": When multiple item signals are present that it could try and build, it always tries to build the one that is "lowest" on the tech tree, which in the case of red circuits, is copper wire. All the rest of my assemblers got set to copper wire and nothing else.
I spent several hours tinkering with it and the closest I got to success was:
Whole belt reader sends belt contents to an accumulator to be inverted (Each * -1), which are then sent to the generic assemblers on the red wire. The green wire connects them all together, and is successfully "added" to the red wire inside each assembler, which means that the only things they will set their recipe to will be the things not already on the belt. It almost works beautifully, but quickly it gets into a state of flipping every tick, I think because the assemblers basically get into a fight over who will make the green circuits and who will make the copper wire. I spent another couple hours trying to incorporate the read recipe finished / read working signals to try and fix this but without success yet.
Looking at FFF #394, obviously I can tell a massive amount of combinators may be required to achieve what I want - basically, a true sushi conveyor belt, only items that enter the belt are things directly requested as ingredients by assemblers that can swap their recipes on the fly as needed by their peers, who are also generic. But I can't get past the issue of assemblers not "holding" their chosen recipes long enough.. they swap to a "lower" recipe, and then empty themselves out...
I wanted to discuss with others, possibly to get the answer, but also possibly to get a clue I may be missing. I know my own experience/understanding of combinators is severely lacking, I feel like the solution or at least the next step is right there if I could just see it.. I assume that everything needed is there in the game already, but if more could be added, perhaps if assemblers could be told to "Set Recipe" only to the value on a certain signal, instead of always the lowest tech item on all the networks attached to them, it would help a lot. But maybe I'm just not seeing why that's not really necessary..