Failed to load mods: Technology antimatter-containment-fields-generator: there is no lab that will accept all of the science packs this technology requires. Science packs: automation-science-pack, logistic-science-pack, military-science-pack, chemical-science-pack, production-science-pack, utility-science-pack, space-science-pack, metallurgic-science-pack, agricultural-science-pack, electromagnetic-science-pack, cryogenic-science-pack, promethium-science-pack, antimatter-science-pack
This happens when Nexus, plasma duct, and Science group are installed togehther.
I asked AI why this happens:
The "science-tab" mod reorganizes science packs by changing the subgroup of base game science packs (like "automation-science-pack", "logistic-science-pack", etc.) from "science-pack" to "basic-science-pack".
The "Nexus" mod, in its data-final-fixes stage, clears the inputs for the "omega-lab" and then dynamically re-adds only those science packs (tools) that still have subgroup == "science-pack".
As a result, the "omega-lab" ends up missing the base science packs in its inputs list, while retaining the Space Age and mod-added packs (like "metallurgic-science-pack", "promethium-science-pack", and "antimatter-science-pack").
Technologies like "antimatter-containment-fields-generator" require both the base packs and the advanced ones. Since no single lab can now accept all of them (standard labs lack the advanced packs, and "omega-lab" lacks the base packs), the game throws this validation error during mod loading.
It also suggested a fix:
Manual Code Patch (Advanced): If you're comfortable editing mod files, modify Nexus's data-final-fixes.lua (in the mod's zip/folder) to add all science packs regardless of subgroup. Replace the loop with something like this:
luadata.raw["lab"]["omega-lab"]["inputs"] = {}
for name, tool in pairs(data.raw["tool"]) do
-- Add if it's a science pack (check by name pattern or durability, since subgroups are altered)
if string.find(name, "science%-pack") or string.find(name, "science_pack") then -- Covers most packs; adjust if needed
table.insert(data.raw["lab"]["omega-lab"]["inputs"], tool.name)
end
end
-- Manually add any missed mod packs (e.g., if they don't match the pattern)
local extra_packs = {
"kr-matter-tech-card", "kr-advanced-tech-card", "kr-singularity-tech-card", -- If Krastorio is installed
"nuclear-science-pack", -- If atan-nuclear-science is installed
-- Add others as needed
}
for _, pack in ipairs(extra_packs) do
if data.raw["tool"][pack] then
table.insert(data.raw["lab"]["omega-lab"]["inputs"], pack)
end
end
This broadens the check to include packs by name pattern instead of relying on the subgroup. Zip the mod back up and reload.