From ed1415f78d7820c44e9a219b578b9fbcdce0cc65 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 13 Jan 2019 16:22:32 +0100 Subject: world.mt: Only accept true/false/nil values (#8055) This patch will make distinguishable mods in modpacks possible in the future `nil` checks are required to provide backwards-compatibility for fresh configured worlds --- builtin/mainmenu/pkgmgr.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'builtin/mainmenu/pkgmgr.lua') diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index cea373c9f..171ba54ea 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -391,7 +391,10 @@ function pkgmgr.get_worldconfig(worldpath) if key == "gameid" then worldconfig.id = value elseif key:sub(0, 9) == "load_mod_" then - worldconfig.global_mods[key] = core.is_yes(value) + -- Compatibility: Check against "nil" which was erroneously used + -- as value for fresh configured worlds + worldconfig.global_mods[key] = value ~= "false" and value ~= "nil" + and value else worldconfig[key] = value end @@ -595,7 +598,7 @@ function pkgmgr.preparemodlist(data) end end if element ~= nil then - element.enabled = core.is_yes(value) + element.enabled = value ~= "false" and value ~= "nil" and value else core.log("info", "Mod: " .. key .. " " .. dump(value) .. " but not found") end -- cgit v1.2.3