I have several assembler which use setRecipe and are controlled by an arithmetic and a constant combinator. They are all similar, first they create the missing items and then the wanted product itself. The assembler which act as expected are marked with a check mark.
But as soon as I use a product with pipes the assembler fail to produce it. This is Pumpjack, Oil refinery, Chemical plant, Pump and so on. The assemblers are marked with a red cross and the inserter at the output is turned sideways. The assembler produces first the pipes, then switches to the main product, say Pumpjack. It gets all items until it grabs the first pipe. Then immediatly the recipe is cleared and the assembler is emptied.
I expect - as at the working productions - that the assembler grabs all needed pipes and produces the final product, here the pumpjack.
The productions which work and which fail are in the attached save-file. Thanks for your help.
[2.0.23] setRecipe does not work with Pipes
[2.0.23] setRecipe does not work with Pipes
- Attachments
-
- Bug setRecipe Pipes.zip
- Save-file with mentioned productions.
- (8.34 MiB) Downloaded 17 times
Re: [2.0.23] setRecipe does not work with Pipes
This is no game bug. Your circuit is too simple.
You have an order list of 10 pipes and 10 pumpjacks to produce in the bottom right constant combinator.
You read from the chests what you already have and subtract the order list to get the list of items to craft. You feed the result to the assembler as recipe to craft.
What you do is feeding ALL items to craft into the assembler. In case there are 2 with positive values, the assembler picks from these two according to an internal predefined order.
There are more than 10 pipes, so the subtracted list only contains the pumpjack as positive number, so the pumpjack is selected as recipe and the assembler starts to collect ingredients.
It also collects pipes as ingredient, which are pulled from the chest you read. As soon as the number of pipes in the chest goes below 10, the subtracted order list again contains the pipe, which is of higher recipe priority according to the internal order, so the assembler starts to switch to the pipe recipe and ejects all items inserted previously for the pumpjack. As soon as all items are ejected, there are again 10+ pipes in the chest, so the pipe signal again vanished from the subtracted list, so again the pumpjack is selected as sole positive signal.
You have an order list of 10 pipes and 10 pumpjacks to produce in the bottom right constant combinator.
You read from the chests what you already have and subtract the order list to get the list of items to craft. You feed the result to the assembler as recipe to craft.
What you do is feeding ALL items to craft into the assembler. In case there are 2 with positive values, the assembler picks from these two according to an internal predefined order.
There are more than 10 pipes, so the subtracted list only contains the pumpjack as positive number, so the pumpjack is selected as recipe and the assembler starts to collect ingredients.
It also collects pipes as ingredient, which are pulled from the chest you read. As soon as the number of pipes in the chest goes below 10, the subtracted order list again contains the pipe, which is of higher recipe priority according to the internal order, so the assembler starts to switch to the pipe recipe and ejects all items inserted previously for the pumpjack. As soon as all items are ejected, there are again 10+ pipes in the chest, so the pipe signal again vanished from the subtracted list, so again the pumpjack is selected as sole positive signal.