aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/mainmenu/init.lua21
1 files changed, 18 insertions, 3 deletions
diff --git a/builtin/mainmenu/init.lua b/builtin/mainmenu/init.lua
index 6dd345ff4..7f0c1e386 100644
--- a/builtin/mainmenu/init.lua
+++ b/builtin/mainmenu/init.lua
@@ -77,13 +77,28 @@ local function init_globals()
if PLATFORM == "Android" then
local world_list = core.get_worlds()
- local world_index = table.indexof(world_list, "singleplayerworld")
+ local world_index
+
+ local found_singleplayerworld = false
+ for i, world in ipairs(world_list) do
+ if world.name == "singleplayerworld" then
+ found_singleplayerworld = true
+ world_index = i
+ break
+ end
+ end
- if world_index == -1 then
+ if not found_singleplayerworld then
core.create_world("singleplayerworld", 1)
world_list = core.get_worlds()
- world_index = table.indexof(world_list, "singleplayerworld")
+
+ for i, world in ipairs(world_list) do
+ if world.name == "singleplayerworld" then
+ world_index = i
+ break
+ end
+ end
end
gamedata.worldindex = world_index