I've been obsessed with the idea of trigger technologies, and I've seen in mods such as Muluna, building a rocket silo requires building 100 logistic bots in order to unlock the technology.
I looked for this kind of mod already, and I don't have much mod experience besides the Fire Armor tutorial mod.
Would it be quite easy to change the technology recipes in Space Age to entirely trigger technologies, rather easily?
I'd be willing to create such a mod if it's fairly easy to do.
Examples of this would be, unlocking military technologies by killing a certain amount of biters or biter spawners,
or unlocking advanced circuits by creating plastic and a certain amount of green circuits first.
I did look through the Muluna code and did find a certain location where the change was made:
--Moves rocket silo science packs down to prereqs, makes rocket silo into a trigger technology.
local techs_change={"logistic-robotics","rocket-fuel","processing-unit","advanced-material-processing-2","low-density-structure"}
for _,technology in pairs(techs_change) do
if data.raw["technology"][technology] then
data.raw["technology"][technology].unit.count = data.raw.technology[technology].unit.count + 200
end
end
data.raw.technology["rocket-silo"].unit=nil
data.raw.technology["rocket-silo"].research_trigger={
type="craft-item",
item="logistic-robot",
count=100,
}
if not (settings.startup["rocs-hardcore-push-back-logistic-system"] and settings.startup["rocs-hardcore-push-back-logistic-system"].value == true) then
-- table.insert(data.raw.technology["logistic-robotics"].effects,{
-- type="unlock-recipe",
-- recipe="requester-chest",
-- })
-- rro.remove(data.raw.technology["logistic-system"].effects,{
-- type="unlock-recipe",
-- recipe="requester-chest",
-- })
--data.raw["technology"]["logistic-system"].unit.count=300
if settings.startup["muluna-hardcore-lock-logistic-system-technology"].value == false then
rro.remove(data.raw["technology"]["logistic-system"].prerequisites , "space-science-pack")
rro.soft_insert(data.raw["technology"]["logistic-system"].prerequisites , "space-platform")
rro.remove(data.raw["technology"]["logistic-system"].unit.ingredients, {"space-science-pack", 1})
end
end
Now, I have no idea what this is doing exactly, and it's in a subset of folders, but I think I could understand it with a little help or explanation.
Then I could apply it to the other techs, and hopefully create a mod of my own this way.
Thanks
Technology Trigger instead of Science Pack - Idea for mod
-
thelordodin
- Fast Inserter

- Posts: 155
- Joined: Fri Jan 06, 2017 1:54 am
- Contact:
Re: Technology Trigger instead of Science Pack - Idea for mod
Nowdays it's quite easy to do with ChatGPT. Just ask him what you want to do and he makes all the code for you. It is very aware of Factorio API in most cases
- MrSmoothieHuman
- Fast Inserter

- Posts: 163
- Joined: Sat Aug 05, 2023 1:20 am
- Contact:
Re: Technology Trigger instead of Science Pack - Idea for mod
you can look on the API to see what trigger technologies do actually exist - but all of this sounds pretty doable? you’d just need to change the vanilla versions, using data.raw. The only one i know you can to do right now (without scripting) is a trigger technology based on spawners killed.
i’d also massively recommend going to the mod-dev-help channel in the factorio discord server, as they can help you a lot more
(and dont use an LLM for coding, they cant tell the difference between prototype and runtime half the time
)
i’d also massively recommend going to the mod-dev-help channel in the factorio discord server, as they can help you a lot more
(and dont use an LLM for coding, they cant tell the difference between prototype and runtime half the time
coder? i hardly know her!
Re: Technology Trigger instead of Science Pack - Idea for mod
Thanks for the replies, I actually managed to make a mod doing just this with extreme ease!
Here is an example of what I wrote into data.lua:
table.remove(data.raw.technology["steel-processing"].prerequisites)
data.raw.technology["steel-processing"].research_trigger={
type="craft-item",
item="iron-plate",
count=100,
}
That's it! It removed steel processing requiring red science, and turned it into a trigger tech unlocked by crafting 100 iron plates.
I did this for the entire basic tech tree and played through it, up until yellow and purple which I left as normal tech requirements.
I might upload the mod eventually but I'm almost certain it will conflict with other mods, so for now I'm just using it to play differently.
Here is an example of what I wrote into data.lua:
table.remove(data.raw.technology["steel-processing"].prerequisites)
data.raw.technology["steel-processing"].research_trigger={
type="craft-item",
item="iron-plate",
count=100,
}
That's it! It removed steel processing requiring red science, and turned it into a trigger tech unlocked by crafting 100 iron plates.
I did this for the entire basic tech tree and played through it, up until yellow and purple which I left as normal tech requirements.
I might upload the mod eventually but I'm almost certain it will conflict with other mods, so for now I'm just using it to play differently.
