diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua index c1e8ee9c4..d6e2588fa 100644 --- a/builtin/mainmenu/common.lua +++ b/builtin/mainmenu/common.lua @@ -40,6 +40,18 @@ local function render_client_count(n) end end +local function configure_selected_world_params(idx) + local worldconfig = modmgr.get_worldconfig( + menudata.worldlist:get_list()[idx].path) + + if worldconfig.creative_mode ~= nil then + core.setting_set("creative_mode", worldconfig.creative_mode) + end + if worldconfig.enable_damage ~= nil then + core.setting_set("enable_damage", worldconfig.enable_damage) + end +end + -------------------------------------------------------------------------------- function image_column(tooltip, flagname) return "image," .. @@ -197,15 +209,7 @@ function menu_handle_key_up_down(fields,textlist,settingname) core.setting_set(settingname, menudata.worldlist:get_raw_index(newidx)) - local worldconfig = modmgr.get_worldconfig( - menudata.worldlist:get_list()[newidx].path) - - if worldconfig.creative_mode ~= nil then - core.setting_set("creative_mode", worldconfig.creative_mode) - end - if worldconfig.enable_damage ~= nil then - core.setting_set("enable_damage", worldconfig.enable_damage) - end + configure_selected_world_params(newidx) end return true end @@ -217,15 +221,8 @@ function menu_handle_key_up_down(fields,textlist,settingname) local newidx = oldidx + 1 core.setting_set(settingname, menudata.worldlist:get_raw_index(newidx)) - local worldconfig = modmgr.get_worldconfig( - menudata.worldlist:get_list()[newidx].path) - if worldconfig.creative_mode ~= nil then - core.setting_set("creative_mode", worldconfig.creative_mode) - end - if worldconfig.enable_damage ~= nil then - core.setting_set("enable_damage", worldconfig.enable_damage) - end + configure_selected_world_params(newidx) end return true