Add technic_on_disable callback (#592)

This adds a new callback to trigger when the machine is no longer powered by the technic power grid. Also allows mods to override the infotext if needed.
This commit is contained in:
sfence
2021-09-10 20:42:27 +02:00
committed by GitHub
parent 1c219487d3
commit 140701c99e
2 changed files with 14 additions and 8 deletions

View File

@ -465,16 +465,17 @@ minetest.register_abm({
for tier, machines in pairs(technic.machines) do
if machines[node.name] and switching_station_timeout_count(pos, tier) then
local nodedef = minetest.registered_nodes[node.name]
if nodedef and nodedef.technic_disabled_machine_name then
node.name = nodedef.technic_disabled_machine_name
minetest.swap_node(pos, node)
elseif nodedef and nodedef.technic_on_disable then
nodedef.technic_on_disable(pos, node)
end
if nodedef then
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Has No Network"):format(nodedef.description))
end
if nodedef and nodedef.technic_disabled_machine_name then
node.name = nodedef.technic_disabled_machine_name
minetest.swap_node(pos, node)
end
if nodedef and nodedef.technic_on_disable then
nodedef.technic_on_disable(pos, node)
end
end
end
end,