-- Find out if more than one AP mod is loaded, and if so, error out. function mod_is_AP(str) -- lua string.match is way more restrictive than regex. Regex would be "^AP-W?\d{20}-P[1-9]\d*-.+$" local result = string.match(str, "^AP%-W?%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%-P[1-9]%d-%-.+$") if result ~= nil then log("Archipelago Mod: " .. result .. " is loaded.") end return result ~= nil end local ap_mod_count = 0 for name, _ in pairs(mods) do if mod_is_AP(name) then ap_mod_count = ap_mod_count + 1 if ap_mod_count > 1 then error("More than one Archipelago Factorio mod is loaded.") end end end data:extend({ { type = "bool-setting", name = "archipelago-death-link-{{ slot_player }}-{{ seed_name }}", setting_type = "runtime-global", {% if death_link %} default_value = true {% else %} default_value = false {% endif %} } })