diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua index bcb075f9..5cd16a9e 100644 --- a/builtin/mainmenu/common.lua +++ b/builtin/mainmenu/common.lua @@ -307,7 +307,7 @@ function menu_worldmt(selected, setting, value) local filename = world.path .. DIR_DELIM .. "world.mt" local world_conf = Settings(filename) - if value then + if value ~= nil then if not world_conf:write() then core.log("error", "Failed to write world config file") end @@ -320,14 +320,14 @@ function menu_worldmt(selected, setting, value) end end -function menu_worldmt_legacy() - local modes = {"creative_mode", "enable_damage"} - for _, mode in pairs(modes) do - local mode = menu_worldmt(selected, ""..mode.."") - if mode then - core.setting_set(""..mode.."", mode) +function menu_worldmt_legacy(selected) + local modes_names = {"creative_mode", "enable_damage"} + for _, mode_name in pairs(modes_names) do + local mode_val = menu_worldmt(selected, mode_name) + if mode_val ~= nil then + core.setting_set(mode_name, mode_val) else - menu_worldmt(selected, ""..mode.."", core.setting_get(""..mode.."")) + menu_worldmt(selected, mode_name, core.setting_get(mode_name)) end end end diff --git a/builtin/mainmenu/tab_server.lua b/builtin/mainmenu/tab_server.lua index 2362d32a..3459f3f2 100644 --- a/builtin/mainmenu/tab_server.lua +++ b/builtin/mainmenu/tab_server.lua @@ -69,7 +69,7 @@ local function main_button_handler(this, fields, name, tabdata) local event = core.explode_textlist_event(fields["srv_worlds"]) local selected = core.get_textlist_index("srv_worlds") - menu_worldmt_legacy() + menu_worldmt_legacy(selected) if event.type == "DCL" then world_doubleclick = true diff --git a/builtin/mainmenu/tab_singleplayer.lua b/builtin/mainmenu/tab_singleplayer.lua index 916b0c18..a7cf5120 100644 --- a/builtin/mainmenu/tab_singleplayer.lua +++ b/builtin/mainmenu/tab_singleplayer.lua @@ -107,7 +107,7 @@ local function main_button_handler(this, fields, name, tabdata) local event = core.explode_textlist_event(fields["sp_worlds"]) local selected = core.get_textlist_index("sp_worlds") - menu_worldmt_legacy() + menu_worldmt_legacy(selected) if event.type == "DCL" then world_doubleclick = true