|
|
|
@ -233,7 +233,8 @@ local function can_go(pos, node, velocity, stack)
|
|
|
|
|
velocity.x = 0
|
|
|
|
|
velocity.y = 0
|
|
|
|
|
velocity.z = 0
|
|
|
|
|
local channel = minetest.get_meta(pos):get_string("channel")
|
|
|
|
|
local src_meta = minetest.get_meta(pos)
|
|
|
|
|
local channel = src_meta:get_string("channel")
|
|
|
|
|
if channel == "" then
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
@ -242,6 +243,14 @@ local function can_go(pos, node, velocity, stack)
|
|
|
|
|
return {}
|
|
|
|
|
end
|
|
|
|
|
local target = receivers[math.random(1, #receivers)]
|
|
|
|
|
if minetest.settings:get_bool("pipeworks_log_teleport_tubes", false) then
|
|
|
|
|
local src_owner = src_meta:get_string("owner")
|
|
|
|
|
local dst_meta = minetest.get_meta(pos)
|
|
|
|
|
local dst_owner = dst_meta:get_string("owner")
|
|
|
|
|
minetest.log("action", string.format("[pipeworks] %s teleported from %s (owner=%s) to %s (owner=%s) via %s",
|
|
|
|
|
stack:to_string(), minetest.pos_to_string(pos), src_owner, minetest.pos_to_string(target), dst_owner, channel
|
|
|
|
|
))
|
|
|
|
|
end
|
|
|
|
|
pos.x = target.x
|
|
|
|
|
pos.y = target.y
|
|
|
|
|
pos.z = target.z
|
|
|
|
|