summaryrefslogtreecommitdiff
path: root/mesecons
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons')
-rw-r--r--mesecons/services.lua7
-rw-r--r--mesecons/util.lua1
2 files changed, 8 insertions, 0 deletions
diff --git a/mesecons/services.lua b/mesecons/services.lua
index 831f6f3..b1388ec 100644
--- a/mesecons/services.lua
+++ b/mesecons/services.lua
@@ -63,6 +63,13 @@ mesecon.on_dignode = function(pos, node)
mesecon.execute_autoconnect_hooks_queue(pos, node)
end
+function mesecon.on_blastnode(pos, intensity)
+ local node = minetest.get_node(pos)
+ minetest.remove_node(pos)
+ mesecon.on_dignode(pos, node)
+ return minetest.get_node_drops(node.name, "")
+end
+
minetest.register_on_placenode(mesecon.on_placenode)
minetest.register_on_dignode(mesecon.on_dignode)
diff --git a/mesecons/util.lua b/mesecons/util.lua
index 39f5696..a22d664 100644
--- a/mesecons/util.lua
+++ b/mesecons/util.lua
@@ -178,6 +178,7 @@ end
function mesecon.register_node(name, spec_common, spec_off, spec_on)
spec_common.drop = spec_common.drop or name .. "_off"
+ spec_common.on_blast = spec_common.on_blast or mesecon.on_blastnode
spec_common.__mesecon_basename = name
spec_on.__mesecon_state = "on"
spec_off.__mesecon_state = "off"