]> git.lizzy.rs Git - elidragon_v2.git/blobdiff - mods/elidragon_commands/init.lua
Add world switching commands
[elidragon_v2.git] / mods / elidragon_commands / init.lua
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)