From: Elias Fleckenstein Date: Sat, 13 Mar 2021 18:11:07 +0000 (+0100) Subject: Add world switching commands X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=3e1362d114539297fc4cd986a07af3fd5f9b12cd;p=elidragon_v2.git Add world switching commands --- diff --git a/mods/elidragon/init.lua b/mods/elidragon/init.lua index 3dd48db..81bb204 100644 --- a/mods/elidragon/init.lua +++ b/mods/elidragon/init.lua @@ -1,5 +1,6 @@ local proxy = { WORLDS = {"lobby", "creative", "survival", "skyblock"}, + WORLD = minetest.settings:get("world") } elidragon = setmetatable({}, { diff --git a/mods/elidragon_commands/init.lua b/mods/elidragon_commands/init.lua new file mode 100644 index 0000000..6ef447e --- /dev/null +++ b/mods/elidragon_commands/init.lua @@ -0,0 +1,21 @@ +local descriptions = {} + +local current_world = elidragon.WORLD +for _, world in ipairs(elidragon.WORLDS) do + if world ~= current_world then + local desc = world:sub(1, 1):upper() .. world:sub(2) + descriptions[world] = desc + minetest.register_chatcommand(world, { + description = "Join " .. desc, + func = function(name) + multiserver.redirect(name, world) + end + }) + end +end + +multiserver.register_on_redirect_done(function(name, world, success) + if not success then + minetest.send_chat_message(name, minetest.colorize(mcl_colors.RED, descriptions[world] .. " is down.")) + end +end) diff --git a/mods/elidragon_commands/mod.conf b/mods/elidragon_commands/mod.conf new file mode 100644 index 0000000..880d56f --- /dev/null +++ b/mods/elidragon_commands/mod.conf @@ -0,0 +1,4 @@ +name = elidragon_commands +author = Fleckenstein +description = Various commands for Elidragon v2 +depends = elidragon, multiserver, mcl_colors diff --git a/worlds/creative/minetest.conf b/worlds/creative/minetest.conf index 239b9ff..a90bed8 100644 --- a/worlds/creative/minetest.conf +++ b/worlds/creative/minetest.conf @@ -5,6 +5,7 @@ port = 30032 max_users = 100 debug_log_size_max = 1 server_name = Creative +world = creative creative_mode = true enable_damage = false diff --git a/worlds/creative/world.mt b/worlds/creative/world.mt index 6fe018d..85e021d 100644 --- a/worlds/creative/world.mt +++ b/worlds/creative/world.mt @@ -7,6 +7,7 @@ player_backend = sqlite3 load_mod_default = false load_mod_elidragon = true load_mod_elidragon_class = true +load_mod_elidragon_commands = true load_mod_elidragon_creative = true load_mod_elidragon_db = true load_mod_elidragon_grouplist = false diff --git a/worlds/lobby/minetest.conf b/worlds/lobby/minetest.conf index d0d66e3..6cf29bd 100644 --- a/worlds/lobby/minetest.conf +++ b/worlds/lobby/minetest.conf @@ -5,6 +5,7 @@ port = 30030 max_users = 100 debug_log_size_max = 1 server_name = the Lobby +world = lobby creative_mode = false enable_damage = true diff --git a/worlds/lobby/world.mt b/worlds/lobby/world.mt index e7a93ca..e255869 100644 --- a/worlds/lobby/world.mt +++ b/worlds/lobby/world.mt @@ -7,6 +7,7 @@ player_backend = sqlite3 load_mod_default = false load_mod_elidragon = true load_mod_elidragon_class = true +load_mod_elidragon_commands = true load_mod_elidragon_creative = false load_mod_elidragon_db = true load_mod_elidragon_grouplist = false diff --git a/worlds/skyblock/minetest.conf b/worlds/skyblock/minetest.conf index 37564a5..9b5592e 100644 --- a/worlds/skyblock/minetest.conf +++ b/worlds/skyblock/minetest.conf @@ -5,6 +5,7 @@ port = 30033 max_users = 100 debug_log_size_max = 1 server_name = Skyblock +world = skyblock creative_mode = false enable_damage = true diff --git a/worlds/skyblock/world.mt b/worlds/skyblock/world.mt index 11bd311..3540b6c 100644 --- a/worlds/skyblock/world.mt +++ b/worlds/skyblock/world.mt @@ -7,6 +7,7 @@ player_backend = sqlite3 load_mod_default = true load_mod_elidragon = true load_mod_elidragon_class = true +load_mod_elidragon_commands = true load_mod_elidragon_creative = false load_mod_elidragon_db = true load_mod_elidragon_grouplist = true diff --git a/worlds/survival/minetest.conf b/worlds/survival/minetest.conf index b6da095..07c2e49 100644 --- a/worlds/survival/minetest.conf +++ b/worlds/survival/minetest.conf @@ -5,6 +5,7 @@ port = 30031 max_users = 100 debug_log_size_max = 1 server_name = Survival +world = survival creative_mode = false enable_damage = true diff --git a/worlds/survival/world.mt b/worlds/survival/world.mt index cdb0d17..e7044af 100644 --- a/worlds/survival/world.mt +++ b/worlds/survival/world.mt @@ -7,6 +7,7 @@ player_backend = sqlite3 load_mod_default = false load_mod_elidragon = true load_mod_elidragon_class = true +load_mod_elidragon_commands = true load_mod_elidragon_creative = false load_mod_elidragon_db = true load_mod_elidragon_grouplist = false