[2.0.23] Blueprint where param is both machine recipe and logistics filter does not allow selecting recipe

Things that has been reported already before.
macdjord
Long Handed Inserter
Long Handed Inserter
Posts: 92
Joined: Fri Feb 22, 2013 4:26 am
Contact:

[2.0.23] Blueprint where param is both machine recipe and logistics filter does not allow selecting recipe

Post by macdjord »

If a parameterized blueprint has a parameter which sets the recipe for a machine, then normally when placing the blueprint the user is offered a dialogue which allows them to select from the recipes that machine can perform. It is even smart enough that, if the blueprint contains multiple types of machine all set to the same parameter, the dialogue only offers those recipes which all the machines involved can make.

However, if the blueprint also contains a storage chest set to use that parameter as a logistics filter, the user instead gets offered the dialogue to select an item. Said dialogue does not offer any alternative recipes at all - fine for, say, an assembler or EM plant, which mostly make items using their primary recipes, but absolutely devastating for, say, the biochamber or chemical plant, for which most of their recipes are alternate recipes.

For example, here is a blueprint for a basic parameterized bot-served biochamber*. (Note: I play with Bob's Adjustable Inserters. This blueprint contains only basic straight inserters, so it should be compatible with vanilla Factorio, but if it doesn't work, then install 'bobinserters 1.3.2'.)

Code: Select all

0eNq1l81ynDgQgF9FpUvsrHCAAeKZSg67t1RlL7tVubhclAAxozIgIsQkLtc8wL7FPts+yXaLgcEz+AfbKQ5IjfqTulvqFnc0KVpRa1kZurqjmWhSLWsjVUVX9C+RkR9SC1K2jSGJIKmqKpEaEBtFtEpUrbQhjTDYf6daU7eGFGotGyPThlTC/FD6BtWMqEzz7oJ8yQephAHKHJiMaPG9FY0RmqQbeMPcRdELiazWWmQSOSRpsd8IjWPtKCR1EmI2ooQ2rAhaJJGq4MkFZbSpeO0Y5ay1zNDWn3QVMXpLV4sdoxKW0dDV1R1t5LriBQ4wt7UAL2ylNi1IGK14iYJuhCONKJ2aaxDCMihCqkwA1duxMWavBQtJN7xM7g31d9eMgknSSNFNbzu3cdXakStvmLUE49vSEQU4S8vUqVUhYE21amQXLmuRexFamxzvItzhOo54/sDjqZFb4dRabWUmtGNdfgr09kB3mrcYeDlvjNMH5ZTjjziMZrCr0u5rwGguC9Dp7O99ePB2rWTB12jrdwgDTA7CSunShiRVJYbAKFgL/UzRnW0j4oFodCsmlh3MdKsT7pf/gFvDF4bpAVx0sB4sA+Ofio5nvbo/KgfrYRt2bj727aMeH/a04z7L6ShoMX94u2t4Juz5OLCHI/6URb61CDOHVkWciA3fSpzvjqZSp600cakyEas8VrWAtVgC7O7+K2hmlhuLiieFyLq9MDEAmbnU4LeTMzv2RLeaxnC0dOkeeeET3f2KAHjzArC0qafPLRM8fybPH/EWE7zFTN5ixAsmeMFMXjDihRO8cCYvHPGiCV40kxeNeIdDULWQGrCQzaONnXf5svw4sGD/lvxn3Pfw4I62r1ZlnLR5fkihE4f6cm7q93556u9oNjNgxS14elNIm2WeUxSWcw3yjw3y/MdT1ktS0RO3EF7dmg3cje7np+P09N8//9oEZT0aw3VP6c6bViAyx85KJ5ziuWziBnPikuCoEKWyPi0lnTg+ieXUtHMvPtHjFdXzX1ihA+TB1sJ7MG7TK495LGTeNbvCNzzQCgZZMMigzz5aGbbAnqHp75shSsO+6dsmaLAlfIcZB991p2O/D+DuOljyBW6gePP+k9+gBXitPSpZ99WOBmBxOdyqHZXPU/dfp754nXrwOvXwderR89X3O5D1jRVduocQfpWlNH0MV8QjfxtIWvA9h6PRFhy5boyFIhO1gASJp7vPXw/P4N0jnJ0BQ3rkPfHdc/IbdIzjnX/A91ywPwH23wK8mAAv3gIcTICDtwCHE+DwLcDRBDh6JhjyBv6X2urX/9czCn/AAooJ/b2F/98/pCJn33gFv838HD5uIcPYvBdG/jJYLsNg6V9Ggbvb/Q+t6krF
Of the 26 recipes the biochamber can normally do, only 7 can actually be selected from the dialogue offered. (And 5 of them are subject to another bug, which I have reported separately.)

When you select an item from the offered dialogue:
  • If the selected item is something the biochamber can make, e.g. rocket fuel (the solid-fuel-and-oil recipe, not the biofuel version), then everything works correctly
  • If you select an item that has a primary recipe but which the biochamber cannot make, e.g. a yellow belt, the ingredient requests are set correctly, and the biochamber is left with no recipe selected
  • If you select an item that has no primary recipe at all, e.g. a deconstruction planner or an asteroid chunk, then the biochamber is left with [Parameter 0] set as the recipe, and the requester chest still has the placeholder parameters
Now, what the game should do is subject to some debate, given an alternate recipe is not a valid logistics filter for a storage chest:
  1. The best solution, IMO, would be if you were allowed to select from the recipes list, then the chest filter was automatically set to the output of that recipe if possible. (There are only 15 selectable alternate recipes that have multiple item outputs, and even then, more than half of them have an obvious 'primary' product with the others being byproducts.)
  2. Alternately, we can already set parameters up to be the ingredients of a recipe; why not setting them to be the products of one?
  3. The game could just throw up it's hands and give us a dialogue that lets us select from both items and machine-appropriate recipes; if we select a value that is not valid for both use-cases, the selected value is used where it can be and left as [Parameter 0] where it would be invalid.
  4. At the very least, it would be better to offer the recipe dialogue rather than the item filter dialogue. Having to manually set up item filters would be annoying, but much easier than having to manually set up the recipe and the ingredient requests.
* I discovered a minor error on my part in this blueprint while preparing this report: the requester chest has a request for 3 nutrients, to feed the biochamber, and another for max-of-0 spoilage, to get rid of any ingredients that spoil while in the chest. However, you cannot have two requests for the same item in the same request group, so if you select a recipe that uses either nutrients or spoilage as ingredients, the ingredient request will not be added properly. The solution is to move those requests to a separate request group, so they add to the ingredient requests instead. Also, max-of-0 requests for both iron and copper ore should be added, so that, if using a recipe that takes iron or copper bacteria as inputs, any of those that spoil in the chest will be disposed of too. None of this affects the bug report in any way, but if anyone reading this wants to use the blueprint, they should make the above fixes.
Post Reply

Return to “Duplicates”