This commit is contained in:
Elias Fleckenstein 2021-01-06 13:01:27 +01:00
parent 034174390d
commit 3787b95e0f
2 changed files with 9 additions and 8 deletions

View File

@ -248,12 +248,11 @@ minetest.register_abm({
if dim == "end" then
-- End portal in the End:
-- Teleport back to the player's spawn or world spawn in the Overworld.
if obj:is_player() then
target = mcl_spawn.get_spawn_pos(obj)
else
target = mcl_spawn.get_world_spawn_pos(obj)
_, target = mcl_spawn.spawn(obj)
end
target = target or mcl_spawn.get_world_spawn_pos(obj)
else
-- End portal in any other dimension:
-- Teleport to the End at a fixed position and generate a
@ -287,6 +286,7 @@ minetest.register_abm({
-- Teleport
obj:set_pos(target)
if obj:is_player() then
-- Look towards the main End island
if dim ~= "end" then

View File

@ -122,8 +122,7 @@ local function good_for_respawn(pos)
(def1.damage_per_second == nil or def2.damage_per_second <= 0)
end
-- Respawn player at specified respawn position
minetest.register_on_respawnplayer(function(player)
mcl_spawn.spawn = function(player)
local pos, custom_spawn = mcl_spawn.get_spawn_pos(player)
if pos and custom_spawn then
-- Check if bed is still there
@ -155,12 +154,14 @@ minetest.register_on_respawnplayer(function(player)
local spawn_pos = vector.add(pos, offset)
if good_for_respawn(spawn_pos) then
player:set_pos(spawn_pos)
return true
return true, spawn_pos
end
end
-- We here if we didn't find suitable place for respawn:
return false
end
end)
end
-- Respawn player at specified respawn position
minetest.register_on_respawnplayer(mcl_spawn.spawn)