Recipe conflict Steel gear box casing, solid steel machine casing in assembler
Gammelkebab opened this issue · 9 comments
Hello,
This issue is not resolved in dev-be11bb0. Placing items for Gear Box in assembler starts producing Machine Casing even if I've never produced Machine Casing before on that assembler and also it doesn't matter if you put gears and circuit before plates in the assembler - Machine Casing starts anyway. Machine Casing recipe seems to need its own integrated circuit ID to disambiguate these recipes.
You can still make them on crafting table, so it's not a game breaking bug, but an issue nevertheless.
At current, the Steel Gear Box Casing requires Circuit 8 in its recipe, which was not the case back in early 2020 when this issue was opened. It was fixed in #385 back in March of 2020.
I am unable to reproduce this issue. Do you perhaps not have a Circuit 8 in your assembler?
I repeated it on my testing (creative) world, here's a recording - I hope it works. Using MV assembler, I insert the circuit and gears first, then frames and plates. As soon as both frames and plates are in, production of machine casings starts. I can try to download newest snapshot to check if this still happens if you need, since be11bb0 was 3.5 months ago.
Ah, I think the difference is I set up a test bench world with an AE2 crafting system and used blocking mode when crafting the recipe. I guess it's resolving the first valid recipe, which happens to be the machine casings since there are 6 plates and a frame available.
I'm pretty sure the steel gearboxes aren't even used anywhere 🤔
More noteworthy, this affects the Titanium Gear Box and Stable Titanium Machine Casing, which is relevant for the EV Diesel Engine multiblock (not that Diesel power is good, but it's available).
So I've looked into this a bit and I don't think it's a big deal. In addition to the gearboxes being extremely niche items that are disambiguated by having gears in their recipe, there's also the following:
The only way you can run into this is by filling the Assembler with the ingredients for casings, then while it is still crafting casings, throwing in gears. In this circumstance the Assembler will not automatically switch recipes, as that's now how it's programmed to function.
Assemblers will always craft the recipe they are working on until they do not have the ingredients to do so anymore. They don't re-determine the recipe between every craft, but rather when the Assembler stops being able to make the current recipe.
Using an AE pattern, on-demand crafting the gearbox worked perfectly fine. Passive auto-crafting using the slowest Robot Arm (LV) set to Keep Exact two crafts worth of ingredients (8 plates / 4 gears / 2 frames) in an IV Assembler also worked perfectly fine.
TL;DR:
Some universal wisdom for GTCE: make another machine. Don't put recipes that can conflict - or where subsets of ingredients can be interpreted as a different recipe if the input clogs with partials - in the same machine.