diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-04-09 01:19:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-09 01:19:21 -0400 |
commit | c2a288303f64707a64f38ff92fdb28b086aad749 (patch) | |
tree | 02eb16810376e87018da08072d44d27819e9a525 | |
parent | 2c02d792bf42b7db1cc695e80db1401ccb0f591d (diff) | |
parent | 9ee97e1ed10827eb7aa9620518751c882cdf89ba (diff) | |
download | pipeworks-c2a288303f64707a64f38ff92fdb28b086aad749.tar pipeworks-c2a288303f64707a64f38ff92fdb28b086aad749.tar.gz pipeworks-c2a288303f64707a64f38ff92fdb28b086aad749.tar.bz2 pipeworks-c2a288303f64707a64f38ff92fdb28b086aad749.tar.xz pipeworks-c2a288303f64707a64f38ff92fdb28b086aad749.zip |
Merge pull request #169 from DS-Minetest/tube_blast_break
break tubes on blast
-rw-r--r-- | tube_registration.lua | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/tube_registration.lua b/tube_registration.lua index c720755..21eac29 100644 --- a/tube_registration.lua +++ b/tube_registration.lua @@ -38,11 +38,11 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e local outboxes = {} local outsel = {} local outimgs = {} - + for i = 1, 6 do outimgs[vti[i]] = plain[i] end - + for _, v in ipairs(connects) do pipeworks.table_extend(outboxes, pipeworks.tube_boxes[v]) table.insert(outsel, pipeworks.tube_selectboxes[v]) @@ -73,10 +73,10 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e outsel = { -24/64, -10/64, -10/64, 24/64, 10/64, 10/64 } wscale = {x = 1, y = 1, z = 0.01} end - + local rname = string.format("%s_%s", name, tname) table.insert(tubenodes, rname) - + local nodedef = { description = tubedesc, drawtype = "nodebox", @@ -107,12 +107,20 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e priority = 50 }, after_place_node = pipeworks.after_place, - after_dig_node = pipeworks.after_dig + after_dig_node = pipeworks.after_dig, + on_blast = function(pos, intensity) + if intensity > 1 + 3^0.5 then + minetest.remove_node(pos) + return {string.format("%s_%s", name, dropname)} + end + minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"}) + pipeworks.scan_for_tube_objects(pos) + end } if style == "6d" then nodedef.paramtype2 = "facedir" end - + if special == nil then special = {} end for key, value in pairs(special) do |