log when items teleport through tubes (#66)

* log when items teleport through tubes

* put teleport tube logging bethind a setting

* narrow scope of some variables
This commit is contained in:
fluxionary
2023-05-18 10:49:12 -07:00
committed by GitHub
parent bd5a42356b
commit 56bcc7dbb7
2 changed files with 13 additions and 1 deletions

View File

@ -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