summaryrefslogtreecommitdiff
path: root/tube_registration.lua
diff options
context:
space:
mode:
authorDS-Minetest <vorunbekannt75@web.de>2017-04-08 16:47:42 +0200
committerDS-Minetest <vorunbekannt75@web.de>2017-04-08 16:47:42 +0200
commit9ee97e1ed10827eb7aa9620518751c882cdf89ba (patch)
tree02eb16810376e87018da08072d44d27819e9a525 /tube_registration.lua
parent2c02d792bf42b7db1cc695e80db1401ccb0f591d (diff)
downloadpipeworks-9ee97e1ed10827eb7aa9620518751c882cdf89ba.tar
pipeworks-9ee97e1ed10827eb7aa9620518751c882cdf89ba.tar.gz
pipeworks-9ee97e1ed10827eb7aa9620518751c882cdf89ba.tar.bz2
pipeworks-9ee97e1ed10827eb7aa9620518751c882cdf89ba.tar.xz
pipeworks-9ee97e1ed10827eb7aa9620518751c882cdf89ba.zip
break tubes on blast
Diffstat (limited to 'tube_registration.lua')
-rw-r--r--tube_registration.lua20
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