]> git.lizzy.rs Git - elidragon_v2.git/commitdiff
Add world switching commands
authorElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 13 Mar 2021 18:11:07 +0000 (19:11 +0100)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Sat, 13 Mar 2021 18:11:07 +0000 (19:11 +0100)
mods/elidragon/init.lua
mods/elidragon_commands/init.lua [new file with mode: 0644]
mods/elidragon_commands/mod.conf [new file with mode: 0644]
worlds/creative/minetest.conf
worlds/creative/world.mt
worlds/lobby/minetest.conf
worlds/lobby/world.mt
worlds/skyblock/minetest.conf
worlds/skyblock/world.mt
worlds/survival/minetest.conf
worlds/survival/world.mt

index 3dd48db1d715b02370bfcb0ee684d4cf6864f25c..81bb204cfd5e32c34e111a867b880087391e27a7 100644 (file)
@@ -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 (file)
index 0000000..6ef447e
--- /dev/null
@@ -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 (file)
index 0000000..880d56f
--- /dev/null
@@ -0,0 +1,4 @@
+name = elidragon_commands
+author = Fleckenstein
+description = Various commands for Elidragon v2
+depends = elidragon, multiserver, mcl_colors
index 239b9ffa83a41623c617ef712070198c80ed332b..a90bed8a734a5794685e9b095d6e49688581948e 100644 (file)
@@ -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
index 6fe018dad356d4814e5ea097fea70e72ad133b56..85e021d0f2dcb1170c19f842f2e6ba4783468613 100644 (file)
@@ -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
index d0d66e3533966210f8b3b76528cb551079400a59..6cf29bd9b7757afe83fcbdd3f151fbb725037dd6 100644 (file)
@@ -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
index e7a93cac836713aa44f610dea1bea20a91cbd23c..e2558699c60634d9d591e464045ba500d59ceaf8 100644 (file)
@@ -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
index 37564a53f0125b600bcc1419007d70802b8cfd8b..9b5592efe7fbe4d81c9a3132a330dca1e2ae0339 100644 (file)
@@ -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
index 11bd311e1733e6cc9f9f68c7aa69c3a074072859..3540b6c798dafdb63613b0cc362c66d88cf78219 100644 (file)
@@ -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
index b6da095c23e61a848ee32b53f67eab2b0b5a0a75..07c2e495f73fa1e6ae56cd2edac09d03d9342274 100644 (file)
@@ -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
index cdb0d1725f91b11cc6188bf39e710c63d3bbf4d6..e7044af45cef24429cbce1ef3017bb6667fbea2b 100644 (file)
@@ -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