check if position is not nil when teleporting

This commit is contained in:
whosit 2023-07-27 07:13:22 +03:00
parent f43ff56fb1
commit 3b67989f3c
1 changed files with 10 additions and 6 deletions

View File

@ -414,12 +414,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
local meta = compass_item:get_meta()
local pos = get_compass_meta_pos(meta)
-- use API function to make it overridable
waypoint_compass.teleport(player, pos)
if pos then
-- use API function to make it overridable
waypoint_compass.teleport(player, pos)
minetest.log("action","[MOD] waypoint_compass: " ..
player:get_player_name() ..
" teleported to " .. minetest.pos_to_string(pos))
minetest.log("action","[MOD] waypoint_compass: " ..
player:get_player_name() ..
" teleported to " .. minetest.pos_to_string(pos))
end
else
minetest.log("warning","[MOD] waypoint_compass: " ..
player:get_player_name() ..
@ -651,7 +653,9 @@ waypoint_compass={}
-- Basic function that can be overridable with something smarter
function waypoint_compass.teleport(player, pos)
player:set_pos(pos)
if player and type(player) == "userdata" and minetest.is_player(player) then
player:set_pos(pos)
end
end