summaryrefslogtreecommitdiff
path: root/decorative_tubes.lua
diff options
context:
space:
mode:
authorTim <t4im@users.noreply.github.com>2015-01-31 00:06:27 +0100
committerTim <t4im@users.noreply.github.com>2015-02-01 00:02:52 +0100
commit4379b1904ddaccb1763ccba03ec0acac377d0128 (patch)
tree868d8337c96e964ae6b4a7891b8f1a9bee4fd45f /decorative_tubes.lua
parente9432321e94ef6ad132fe0f92ae449592613bd5a (diff)
downloadpipeworks-4379b1904ddaccb1763ccba03ec0acac377d0128.tar
pipeworks-4379b1904ddaccb1763ccba03ec0acac377d0128.tar.gz
pipeworks-4379b1904ddaccb1763ccba03ec0acac377d0128.tar.bz2
pipeworks-4379b1904ddaccb1763ccba03ec0acac377d0128.tar.xz
pipeworks-4379b1904ddaccb1763ccba03ec0acac377d0128.zip
add decorative tubes: one steel block embedded the other passing through an airtight pane
Diffstat (limited to 'decorative_tubes.lua')
-rw-r--r--decorative_tubes.lua79
1 files changed, 79 insertions, 0 deletions
diff --git a/decorative_tubes.lua b/decorative_tubes.lua
new file mode 100644
index 0000000..90e92d9
--- /dev/null
+++ b/decorative_tubes.lua
@@ -0,0 +1,79 @@
+local straight = function(pos, node, velocity, stack) return {velocity} end
+
+minetest.register_node("pipeworks:steel_block_embedded_tube", {
+ description = "Airtight steelblock embedded tube",
+ tiles = {
+ "default_steel_block.png", "default_steel_block.png",
+ "default_steel_block.png", "default_steel_block.png",
+ "default_steel_block.png^pipeworks_tube_connection_metallic.png",
+ "default_steel_block.png^pipeworks_tube_connection_metallic.png",
+ },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1},
+ legacy_facedir_simple = true,
+ sounds = default.node_sound_stone_defaults(),
+ tube = {
+ connect_sides = {front = 1, back = 1,},
+ priority = 50,
+ can_go = straight,
+ can_insert = function(pos, node, stack, direction)
+ local dir = minetest.facedir_to_dir(node.param2)
+ return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction)
+ end,
+ },
+})
+
+minetest.register_craft( {
+ output = "pipeworks:steel_block_embedded_tube 1",
+ recipe = {
+ { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
+ { "default:steel_ingot", "pipeworks:tube_1", "default:steel_ingot" },
+ { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }
+ },
+})
+
+local pane_box = {
+ type = "fixed",
+ fixed = {
+ { -9/64, -9/64, -8/16, 9/64, 9/64, 8/16 }, -- tube
+ { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 } -- pane
+ }
+}
+minetest.register_node("pipeworks:steel_pane_embedded_tube", {
+ drawtype = "nodebox",
+ description = "Airtight panel embedded tube ",
+ tiles = {
+ "pipeworks_pane_embedded_tube_sides.png^[transformR90",
+ "pipeworks_pane_embedded_tube_sides.png^[transformR90",
+ "pipeworks_pane_embedded_tube_sides.png",
+ "pipeworks_pane_embedded_tube_sides.png",
+ "pipeworks_pane_embedded_tube_ends.png", "pipeworks_pane_embedded_tube_ends.png",
+ },
+ node_box = pane_box,
+ selection_box = pane_box,
+ collision_box = pane_box,
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {cracky=1, oddly_breakable_by_hand = 1, tubedevice = 1},
+ legacy_facedir_simple = true,
+ sounds = default.node_sound_stone_defaults(),
+ tube = {
+ connect_sides = {front = 1, back = 1,},
+ priority = 50,
+ can_go = straight,
+ can_insert = function(pos, node, stack, direction)
+ local dir = minetest.facedir_to_dir(node.param2)
+ return vector.equals(dir, direction) or vector.equals(vector.multiply(dir, -1), direction)
+ end,
+ },
+})
+
+minetest.register_craft( {
+ output = "pipeworks:steel_pane_embedded_tube 1",
+ recipe = {
+ { "", "pipeworks:tube_1t", "" },
+ { "default:steel_ingot", "pipeworks:tube_1", "default:steel_ingot" },
+ { "", "pipeworks:tube_1", "" }
+ },
+})