summaryrefslogtreecommitdiff
path: root/mesecons
diff options
context:
space:
mode:
authorDS <vorunbekannt75@web.de>2017-10-07 00:44:49 +0200
committerVitaliy <silverunicorn2011@yandex.ru>2017-10-07 01:44:49 +0300
commit905260c8db2d7d4844e3955fa38a79da233b3ab7 (patch)
tree046f23d139d256acb59efaedc3c99b2cf5b9cb4d /mesecons
parent8999597df2d4d5b5aa2011eb9880dfc758201a5a (diff)
downloadmesecons-905260c8db2d7d4844e3955fa38a79da233b3ab7.tar
mesecons-905260c8db2d7d4844e3955fa38a79da233b3ab7.tar.gz
mesecons-905260c8db2d7d4844e3955fa38a79da233b3ab7.tar.bz2
mesecons-905260c8db2d7d4844e3955fa38a79da233b3ab7.tar.xz
mesecons-905260c8db2d7d4844e3955fa38a79da233b3ab7.zip
Handle blasts (#356)
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"