[0.13.4] Regression(?): Furnace/inserter input mismatch
Posted: Tue Jul 05, 2016 4:43 pm
Summary:
Inserters sometimes try to insert ore into a furnace already containing iron plates.
History:
Something very similar was already posted before, and fixed, but the fix seems incomplete or has regressed:
Original report:
viewtopic.php?t=8275
Reported as fixed:
viewtopic.php?t=8275#p65541
Details:
After some testing, the problem seems to occur only if the furnace shuts off due to insufficient input: with 7 iron plates in the furnace, or 2 and smelting steel, the inserter is aware of what is/isn't permissible. The moment the last smelt is complete, iron ore is picked up and the furnace/inserter combination deadlocks.
Example: Hypothesis:
Furnaces appear to dynamically set their recipe based on input, and inserters react like the furnace were just another assembler which happened to be set to that recipe. The problem, if that model is correct, seems to be that the furnace doesn't set its recipe based on what's in its input box: it's based on what it's currently smelting. Therefore, if it has input, but not enough to start work, it doesn't have an active "recipe" at all, and inserters can't possibly know what the furnace wants (even though the furnace is already de facto committed to the recipe matching its input).
Version:
Tested for 0.12.34, 0.12.35 (current steam default version) and 0.13.4 (latest release, loaded as beta through steam). All tests done on the (..., win64, steam) builds.
Inserters sometimes try to insert ore into a furnace already containing iron plates.
History:
Something very similar was already posted before, and fixed, but the fix seems incomplete or has regressed:
Original report:
viewtopic.php?t=8275
Reported as fixed:
viewtopic.php?t=8275#p65541
Details:
After some testing, the problem seems to occur only if the furnace shuts off due to insufficient input: with 7 iron plates in the furnace, or 2 and smelting steel, the inserter is aware of what is/isn't permissible. The moment the last smelt is complete, iron ore is picked up and the furnace/inserter combination deadlocks.
Example: Hypothesis:
Furnaces appear to dynamically set their recipe based on input, and inserters react like the furnace were just another assembler which happened to be set to that recipe. The problem, if that model is correct, seems to be that the furnace doesn't set its recipe based on what's in its input box: it's based on what it's currently smelting. Therefore, if it has input, but not enough to start work, it doesn't have an active "recipe" at all, and inserters can't possibly know what the furnace wants (even though the furnace is already de facto committed to the recipe matching its input).
Version:
Tested for 0.12.34, 0.12.35 (current steam default version) and 0.13.4 (latest release, loaded as beta through steam). All tests done on the (..., win64, steam) builds.