From 1d21346f05f1ab846031892bfb70dd448e2dc66d Mon Sep 17 00:00:00 2001 From: Signal Date: Wed, 17 Sep 2025 01:45:25 -0400 Subject: [PATCH] Allow returning to the surface realm --- mods/rgt_realms/init.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mods/rgt_realms/init.lua b/mods/rgt_realms/init.lua index 19acf43..150a286 100644 --- a/mods/rgt_realms/init.lua +++ b/mods/rgt_realms/init.lua @@ -11,8 +11,10 @@ rgt_realms = { surface = { name = "surface", label = "Surface", - max = vector.new(-31000, -5000, -31000), - min = vector.new(31000, 1000, 31000) + min = vector.new(-31000, -5000, -31000), + max = vector.new(31000, 1000, 31000), + -- TODO: Find a better way to handle admin realm transitions. + waypoint = vector.new(0, 30, 0), } } } @@ -33,9 +35,7 @@ end function ns.update_realm(m) local realm = ns.realms[ns.get_realm_at_pos(m.object:get_pos())] - if realm.sky then - m.object:set_sky(realm.sky) - end + m.object:set_sky(realm.sky) end function ns.check_position(m) @@ -45,7 +45,9 @@ end minetest.register_chatcommand("realm", { func = function(name, args) - minetest.get_player_by_name(name):set_pos(ns.realms["outback"].min +(ns.realms["outback"].max -ns.realms["outback"].min) /2) - ns.update_realm(rgt.players[name]) + if ns.realms[args] and args ~= "void" then + minetest.get_player_by_name(name):set_pos(ns.realms[args].waypoint or (ns.realms[args].min +(ns.realms[args].max -ns.realms[args].min) /2)) + ns.update_realm(rgt.players[name]) + end end })