Technology Trigger instead of Science Pack - Idea for mod

This is the place to request new mods or give ideas about what could be done.
Bdgray02
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Oct 25, 2025 5:24 am
Contact:

Technology Trigger instead of Science Pack - Idea for mod

Post by Bdgray02 »

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
thelordodin
Fast Inserter
Fast Inserter
Posts: 155
Joined: Fri Jan 06, 2017 1:54 am
Contact:

Re: Technology Trigger instead of Science Pack - Idea for mod

Post by thelordodin »

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
User avatar
MrSmoothieHuman
Fast Inserter
Fast Inserter
Posts: 163
Joined: Sat Aug 05, 2023 1:20 am
Contact:

Re: Technology Trigger instead of Science Pack - Idea for mod

Post by MrSmoothieHuman »

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 :P
(and dont use an LLM for coding, they cant tell the difference between prototype and runtime half the time :lol: )
coder? i hardly know her!
Bdgray02
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Oct 25, 2025 5:24 am
Contact:

Re: Technology Trigger instead of Science Pack - Idea for mod

Post by Bdgray02 »

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.
Post Reply

Return to “Ideas and Requests For Mods”