[2.1.14] research_trigger can't be used with multi-level technologies
Posted: Sun Aug 09, 2026 10:32 pm
I'm the author of the Archipelago mod for Factorio: Space Age (one of 4 different Archipelago randomizer projects for Factorio).
I'm trying to set the `research_trigger` of all the vanilla technologies to `type = "scripted"` to make them impossible to research directly. Instead various external events cause them to be researched as part of the randomizer experience. I still want the technologies to show up in the research GUI to make them discoverable by the player, and I'm adding commentary to the description to give a clue about how to get the mod to grant the technology.
In 2.0, this worked for every vanilla tech, but in 2.1.14 it seems to be rejected for infinite technologies. While I can understand forbidding infinite techs triggered by something like mining a rock, I think `type="scripted"` triggers should still be allowed.
I'm open to the possibility that there's a better way to accomplish what I'm trying to do, but my ideas so far are pretty clunky, like the `unit.ingredients` requiring an impossible to acquire item. I would prefer to show a script trigger with a custom icon and tooltip like i'm doing now, without needing to go through an item prototype to accomplish that.
Here's the specific Lua code that's causing the error: https://github.com/thejoshwolfe/Archipe ... #L174-L179
I'm trying to set the `research_trigger` of all the vanilla technologies to `type = "scripted"` to make them impossible to research directly. Instead various external events cause them to be researched as part of the randomizer experience. I still want the technologies to show up in the research GUI to make them discoverable by the player, and I'm adding commentary to the description to give a clue about how to get the mod to grant the technology.
In 2.0, this worked for every vanilla tech, but in 2.1.14 it seems to be rejected for infinite technologies. While I can understand forbidding infinite techs triggered by something like mining a rock, I think `type="scripted"` triggers should still be allowed.
I'm open to the possibility that there's a better way to accomplish what I'm trying to do, but my ideas so far are pretty clunky, like the `unit.ingredients` requiring an impossible to acquire item. I would prefer to show a script trigger with a custom icon and tooltip like i'm doing now, without needing to go through an item prototype to accomplish that.
Here's the specific Lua code that's causing the error: https://github.com/thejoshwolfe/Archipe ... #L174-L179