1
0
mirror of https://github.com/mt-mods/pipeworks.git synced 2025-05-14 22:50:23 +02:00

Use on_repair when repairing tube

This commit is contained in:
SX 2022-06-21 06:31:52 +03:00 committed by GitHub
parent 7b15bdbd1f
commit 1e10718a07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 2 deletions

View File

@ -84,8 +84,12 @@ pipeworks.register_tube("pipeworks:broken_tube", {
return return
end end
pipeworks.logger(log_msg.." with "..wieldname.." to repair it.") pipeworks.logger(log_msg.." with "..wieldname.." to repair it.")
minetest.swap_node(pos, { name = was_node.name, param2 = was_node.param2 }) if minetest.registered_nodes[was_node.name].on_repair then
pipeworks.scan_for_tube_objects(pos) minetest.registered_nodes[was_node.name].on_repair(pos, was_node, puncher)
else
minetest.swap_node(pos, { name = was_node.name, param2 = was_node.param2 })
pipeworks.scan_for_tube_objects(pos)
end
end end
} }
}) })

View File

@ -259,6 +259,18 @@ pipeworks.register_tube("pipeworks:teleport_tube", {
end, end,
on_destruct = function(pos) on_destruct = function(pos)
remove_tube(pos) remove_tube(pos)
end,
on_repair = function(pos, node)
local meta = minetest.get_meta(pos)
local channel = meta:get_string("channel")
minetest.swap_node(pos, { name = node.name, param2 = node.param2 })
pipeworks.scan_for_tube_objects(pos)
if channel ~= "" then
local can_receive = meta:get_int("can_receive")
set_tube(pos, channel, can_receive)
local cr_description = (can_receive == 1) and "sending and receiving" or "sending"
meta:set_string("infotext", S("Teleportation Tube @1 on '@2'", cr_description, channel))
end
end end
}, },
}) })