mirror of
https://github.com/mt-mods/pipeworks.git
synced 2025-05-14 22:50:23 +02:00
Verify was_node registration
This commit is contained in:
parent
64fb579dd2
commit
b8f07b9009
@ -64,33 +64,39 @@ pipeworks.register_tube("pipeworks:broken_tube", {
|
|||||||
local itemstack = puncher:get_wielded_item()
|
local itemstack = puncher:get_wielded_item()
|
||||||
local wieldname = itemstack:get_name()
|
local wieldname = itemstack:get_name()
|
||||||
local playername = puncher:get_player_name()
|
local playername = puncher:get_player_name()
|
||||||
local log_msg = playername.." struck a broken tube at "..minetest.pos_to_string(pos).."\n"
|
local log_msg = playername.." struck a broken tube at "..minetest.pos_to_string(pos).."\n "
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local was_node = minetest.deserialize(meta:get_string("the_tube_was"))
|
local was_node = minetest.deserialize(meta:get_string("the_tube_was"))
|
||||||
if not was_node then
|
if not was_node then
|
||||||
pipeworks.logger(log_msg.." but it can't be repaired.")
|
pipeworks.logger(log_msg.."but it can't be repaired.")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not pipeworks.check_and_wear_hammer(puncher) then
|
if not pipeworks.check_and_wear_hammer(puncher) then
|
||||||
if wieldname == "" then
|
if wieldname == "" then
|
||||||
pipeworks.logger(log_msg.." by hand. It's not very effective.")
|
pipeworks.logger(log_msg.."by hand. It's not very effective.")
|
||||||
if minetest.settings:get_bool("enable_damage") then
|
if minetest.settings:get_bool("enable_damage") then
|
||||||
minetest.chat_send_player(playername,S("Broken tubes may be a bit sharp. Perhaps try with a hammer?"))
|
minetest.chat_send_player(playername,S("Broken tubes may be a bit sharp. Perhaps try with a hammer?"))
|
||||||
puncher:set_hp(puncher:get_hp()-1)
|
puncher:set_hp(puncher:get_hp()-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
pipeworks.logger(log_msg.." with "..wieldname.." but that tool is too weak.")
|
pipeworks.logger(log_msg.."with "..wieldname.." but that tool is too weak.")
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
pipeworks.logger(log_msg.." with "..wieldname.." to repair it.")
|
log_msg = log_msg.."with "..wieldname.." to repair it"
|
||||||
local nodedef = minetest.registered_nodes[was_node.name]
|
local nodedef = minetest.registered_nodes[was_node.name]
|
||||||
if nodedef and nodedef.tube and nodedef.tube.on_repair then
|
if nodedef then
|
||||||
|
pipeworks.logger(log_msg..".")
|
||||||
|
if nodedef.tube and nodedef.tube.on_repair then
|
||||||
nodedef.tube.on_repair(pos, was_node)
|
nodedef.tube.on_repair(pos, was_node)
|
||||||
else
|
else
|
||||||
minetest.swap_node(pos, { name = was_node.name, param2 = was_node.param2 })
|
minetest.swap_node(pos, { name = was_node.name, param2 = was_node.param2 })
|
||||||
pipeworks.scan_for_tube_objects(pos)
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
pipeworks.logger(log_msg.." but original node "..was_node.name.." is not registered anymore.")
|
||||||
|
minetest.chat_send_player(playername, S("This tube cannot be repaired."))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user