You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some buildings/recipes take modules as recipe ingredient. Vanilla construction bots fill the modules of the item request proxy to the module slots first, then to the ingredient inventory. I expect nanobots to have the same behavior as construction bots.
To Reproduce
Build this vanilla blueprint and observe the difference between construction bots and nanobots.
This might not sound relevant for vanilla, but PyAlienLife has lots of recipes/buildings with the same modules as ingredients, which you need to build on a large scale.
I have also opened a bug report for vanilla, because I believe that the current behavior of click-inserting is not what people expect or would ever need in this case.
Describe the Bug
Some buildings/recipes take modules as recipe ingredient. Vanilla construction bots fill the modules of the item request proxy to the module slots first, then to the ingredient inventory. I expect nanobots to have the same behavior as construction bots.
To Reproduce
Build this vanilla blueprint and observe the difference between construction bots and nanobots.
Construction bots:
Nanobots:
Implications
This might not sound relevant for vanilla, but PyAlienLife has lots of recipes/buildings with the same modules as ingredients, which you need to build on a large scale.
Technical Details
Nanobots fill the modules to the ingredient inventory first, using the https://lua-api.factorio.com/latest/LuaControl.html#LuaControl.insert method in https://github.com/Nexela/Nanobots/blob/master/scripts/nanobots.lua#L339
I have also opened a bug report for vanilla, because I believe that the current behavior of click-inserting is not what people expect or would ever need in this case.
In the meantime maybe the solution is to "insert" into https://lua-api.factorio.com/latest/LuaEntity.html#LuaEntity.get_module_inventory first, "insert"ing only those that didn't fit directly into the entity.
The text was updated successfully, but these errors were encountered: