The Blueprint Designer Lab


Enter your lab to design your blueprints. Mod updated for the 4th by daniel90c and minno. Please be gentle, the lab guy has been to places.

Content
3 years ago
0.18 - 1.1
28.1K
Blueprints

b Blueprinting Incompatibility with Moon Logic

2 years ago
(updated 2 years ago)

There seems to be some incompatibility with how this mod handles blueprinting, for Moon Logic mod. Specifically a feature which stores lua code for blueprinting.

In the author's own words:

Yeah, how Blueprint Designer Lab creates the blueprinted entities seem to be the incompatibility here.

ReviveEntity() there in scripts/common.lua runs _, revived, request = entity.revive({true}), which is entity.revive() API call, but it does not pass raise_revive=true parameter to it, so tags with the code attached to the blueprinted entity-ghost get lost there, as it gets replaced with the entity without firing the event that'd copy code from these tags.

I'm not sure why that mod does it like this, and suspect it's might be simply that Factorio API added script_raised_revive event after that mod was initially created and an option to raise it - raised "optionally" to avoid breaking compatibility with mods that already send script_raised_built after entity.revive(), like this one actually does.
It's not really a bug there, but it does create incompatibility like that with any mods storing their custom data in blueprint tags, I believe.

So probably worth at least mentioning it to current mod maintainer(s), in case they might not be aware of it.
It might be done this way intentionally though, or folks there simply don't have time to update/fix and test that stuff properly.

I didn't try it, but I think if you change ReviveEntity() to use that raise_revive=true option instead of separate script_raised_built event, it might fix the issue without breaking anything, but did not test it myself, and again ideally it's best to check with maintainer(s) whether things might be implemented like that intentionally.
(if you'll be testing such changes - runtime code in unpacked mods reloads when loading a save btw, so kinda easy to tweak and test stuff quickly without restarting whole game or anything like that)

For full context see this thread: https://mods.factorio.com/mod/Moon_Logic/discussion/5f51799b456fefcdcc7c7b76

2 years ago

For full context see this thread:

Or maybe more like the very end of it - it's unreasonably long and has like five different issues in there by now :)

New response