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