mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-31 18:31:04 +00:00
Hide world buttons when a world is not selected (#16414)
This commit is contained in:
parent
550b042076
commit
04d9bd518f
1 changed files with 28 additions and 20 deletions
|
@ -167,9 +167,13 @@ local function get_formspec(tabview, name, tabdata)
|
||||||
|
|
||||||
local index = filterlist.get_current_index(menudata.worldlist,
|
local index = filterlist.get_current_index(menudata.worldlist,
|
||||||
tonumber(core.settings:get("mainmenu_last_selected_world")))
|
tonumber(core.settings:get("mainmenu_last_selected_world")))
|
||||||
|
|
||||||
local list = menudata.worldlist:get_list()
|
local list = menudata.worldlist:get_list()
|
||||||
local world = list and index and list[index]
|
local world = list and index and list[index]
|
||||||
local game
|
local game
|
||||||
|
|
||||||
|
local is_world_selected = list and list[core.get_textlist_index("sp_worlds") or index]
|
||||||
|
|
||||||
if world then
|
if world then
|
||||||
game = pkgmgr.find_by_gameid(world.gameid)
|
game = pkgmgr.find_by_gameid(world.gameid)
|
||||||
else
|
else
|
||||||
|
@ -183,27 +187,33 @@ local function get_formspec(tabview, name, tabdata)
|
||||||
local y = 0.2
|
local y = 0.2
|
||||||
local yo = 0.5625
|
local yo = 0.5625
|
||||||
|
|
||||||
if disabled_settings["creative_mode"] == nil then
|
if is_world_selected then
|
||||||
creative = "checkbox[0,"..y..";cb_creative_mode;".. fgettext("Creative Mode") .. ";" ..
|
if disabled_settings["creative_mode"] == nil then
|
||||||
dump(core.settings:get_bool("creative_mode")) .. "]"
|
creative = "checkbox[0,"..y..";cb_creative_mode;".. fgettext("Creative Mode") .. ";" ..
|
||||||
y = y + yo
|
dump(core.settings:get_bool("creative_mode")) .. "]"
|
||||||
end
|
y = y + yo
|
||||||
if disabled_settings["enable_damage"] == nil then
|
end
|
||||||
damage = "checkbox[0,"..y..";cb_enable_damage;".. fgettext("Enable Damage") .. ";" ..
|
if disabled_settings["enable_damage"] == nil then
|
||||||
dump(core.settings:get_bool("enable_damage")) .. "]"
|
damage = "checkbox[0,"..y..";cb_enable_damage;".. fgettext("Enable Damage") .. ";" ..
|
||||||
y = y + yo
|
dump(core.settings:get_bool("enable_damage")) .. "]"
|
||||||
end
|
y = y + yo
|
||||||
if disabled_settings["enable_server"] == nil then
|
end
|
||||||
host = "checkbox[0,"..y..";cb_server;".. fgettext("Host Server") ..";" ..
|
if disabled_settings["enable_server"] == nil then
|
||||||
dump(core.settings:get_bool("enable_server")) .. "]"
|
host = "checkbox[0,"..y..";cb_server;".. fgettext("Host Server") ..";" ..
|
||||||
y = y + yo
|
dump(core.settings:get_bool("enable_server")) .. "]"
|
||||||
|
y = y + yo
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
retval = retval ..
|
retval = retval ..
|
||||||
"container[5.25,4.875]" ..
|
"container[5.25,4.875]" ..
|
||||||
"button[0,0;3.225,0.8;world_delete;".. fgettext("Delete") .. "]" ..
|
"button[6.65,0;3.225,0.8;world_create;".. fgettext("New") .. "]"
|
||||||
"button[3.325,0;3.225,0.8;world_configure;".. fgettext("Select Mods") .. "]" ..
|
if is_world_selected then
|
||||||
"button[6.65,0;3.225,0.8;world_create;".. fgettext("New") .. "]" ..
|
retval = retval ..
|
||||||
|
"button[0,0;3.225,0.8;world_delete;".. fgettext("Delete") .. "]" ..
|
||||||
|
"button[3.325,0;3.225,0.8;world_configure;".. fgettext("Select Mods") .. "]"
|
||||||
|
end
|
||||||
|
retval = retval ..
|
||||||
"container_end[]" ..
|
"container_end[]" ..
|
||||||
"container[0.375,0.375]" ..
|
"container[0.375,0.375]" ..
|
||||||
creative ..
|
creative ..
|
||||||
|
@ -251,7 +261,7 @@ local function get_formspec(tabview, name, tabdata)
|
||||||
end
|
end
|
||||||
|
|
||||||
retval = retval .. "container_end[]"
|
retval = retval .. "container_end[]"
|
||||||
else
|
elseif is_world_selected then
|
||||||
retval = retval ..
|
retval = retval ..
|
||||||
"button[10.1875,5.925;4.9375,0.8;play;" .. fgettext("Play Game") .. "]"
|
"button[10.1875,5.925;4.9375,0.8;play;" .. fgettext("Play Game") .. "]"
|
||||||
end
|
end
|
||||||
|
@ -348,8 +358,6 @@ local function main_button_handler(this, fields, name, tabdata)
|
||||||
gamedata.selected_world = menudata.worldlist:get_raw_index(selected)
|
gamedata.selected_world = menudata.worldlist:get_raw_index(selected)
|
||||||
|
|
||||||
if selected == nil or gamedata.selected_world == 0 then
|
if selected == nil or gamedata.selected_world == 0 then
|
||||||
gamedata.errormessage =
|
|
||||||
fgettext_ne("No world created or selected!")
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue