30 lines
964 B
Lua
30 lines
964 B
Lua
-- 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 %}
|
|
}
|
|
}) |