first commit
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Thu, 12 Jul 2012 21:52:35 +0000 (17:52 -0400)
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Thu, 12 Jul 2012 21:52:35 +0000 (17:52 -0400)
README [new file with mode: 0644]
init.lua [new file with mode: 0644]
init.lua~ [new file with mode: 0644]
textures/pipes_pipe_end.png [new file with mode: 0644]
textures/pipes_plain.png [new file with mode: 0644]
textures/pipes_windowed_empty.png [new file with mode: 0644]
textures/pipes_windowed_loaded.png [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..397b13d
--- /dev/null
+++ b/README
@@ -0,0 +1,28 @@
+This simple mod uses nodeboxes to supply a complete set of 3D flanged 
+pipes.  There are enough nodes defined here to bend from any axis 
+(X/Y/Z) to any other, or to join multiple pipes together from any or all 
+axes.  There are 10 unique nodes defined, times two versions for each 
+(for a total of 20).  Getting them into the right orientation is handled 
+with the usual facedir parameter.
+
+One version bears one or more dark windows on each pipe, suggesting 
+they're empty, while the other version bears green-tinted windows, as if 
+full (the two colors should also be easy to select if you want to change 
+them in a paint program).
+
+This mod requires a recent git pull or build of Minetest dated June 17, 
+2012 or later.
+
+There are no crafting recipes, however, you can use the usual /give 
+commands with names such as pipes:vertical, pipes:crossing_xy, and so 
+on, if you want to add them to your world for decorative purposes.  See 
+init.lua for more details.
+
+The overall format of the code is borrowed from the game and written by 
+me.  16x16 textures by me also.
+
+This mod is intended to be used as a basis or at least as sort of a 
+model for something else to build on (perhaps a nicer-looking oil mod?), 
+and does not provide any of the code necessary to cause the pipes to 
+rotate around as they're placed.  I may add such code later, but not 
+right now.
diff --git a/init.lua b/init.lua
new file mode 100644 (file)
index 0000000..a8c3897
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,672 @@
+-- Pipes mod by VanessaE
+-- 2012-06-12
+--
+
+-- Entirely my own code.  This mod merely supplies enough nodes to build 
+-- a bunch of pipes in all directions and with all types of junctions.
+--
+-- License: WTFPL
+--
+
+local DEBUG = 1
+
+-- Local Functions
+
+local dbg = function(s)
+       if DEBUG == 1 then
+               print('[PIPES] ' .. s)
+       end
+end
+
+-- Nodes (empty)
+
+minetest.register_node("pipes:vertical", {
+        description = "Pipe (vertical)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png"
+                       },
+        paramtype = "light",
+--     paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.15,  0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },     
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:horizontal", {
+        description = "Pipe (horizontal)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_plain.png"
+                       },
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.15, 0.5, 0.15, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:junction_xy", {
+        description = "Pipe (junction between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {                      
+                       { -0.15, -0.5 , -0.15,  0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 ,  0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15,  0.15,  0.5 , 0.15 },    
+                       {  0.1 , -0.1 , -0.1 ,  0.45,  0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 ,  0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:junction_xz", {
+        description = "Pipe (junction between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.15, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.15,  0.45,  0.15, 0.15, 0.5  },
+                       { -0.1 , -0.1 ,  0.1 ,  0.1 , 0.1 , 0.45 },
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xy_down", {
+        description = "Pipe (downward bend between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.5, 0.15, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15,  0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 ,  0.1 ,  0.1 , 0.1  },
+                       { -0.1 , -0.1 , -0.1 ,  0.45,  0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 ,  0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xy_up", {
+        description = "Pipe (upward bend between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.15, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, 0.45 , -0.15, 0.15,  0.5, 0.15 },
+                       { -0.1 , -0.1 , -0.1 , 0.1 , 0.45, 0.1  },
+                       { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xz", {
+        description = "Pipe (bend between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.15, -0.15, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.15,  0.45,  0.15, 0.15, 0.5  },
+                       { -0.1 , -0.1 ,  0.1 ,  0.1 , 0.1 , 0.45 },
+                       { -0.1 , -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xz", {
+        description = "Pipe (4-way crossing between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png"
+                       },
+
+        paramtype = "light",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.5, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+
+                       { -0.15, -0.15, -0.5 ,  0.15, 0.15, -0.45 },
+                       { -0.1 , -0.1 , -0.45,  0.1 , 0.1 ,  0.45 },
+                       { -0.15, -0.15,  0.45,  0.15, 0.15,  0.5  },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xy", {
+        description = "Pipe (4-way crossing between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_windowed_empty.png",
+                       "pipes_windowed_empty.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },
+       
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },     
+
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xyz", {
+        description = "Pipe (6-way crossing between X/Y/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png"
+                       },
+
+        paramtype = "light",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+
+                       { -0.15, -0.15, -0.5 ,  0.15, 0.15, -0.45 },
+                       { -0.1 , -0.1 , -0.45,  0.1 , 0.1 ,  0.45 },
+                       { -0.15, -0.15,  0.45,  0.15, 0.15,  0.5  },
+
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },     
+
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+
+-- Nodes (full/loaded)
+
+minetest.register_node("pipes:vertical_loaded", {
+        description = "Pipe (vertical)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png"
+                       },
+        paramtype = "light",
+--     paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.15,  0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },     
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:horizontal_loaded", {
+        description = "Pipe (horizontal)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_plain.png"
+                       },
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.15, 0.5, 0.15, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:junction_xy_loaded", {
+        description = "Pipe (junction between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {                      
+                       { -0.15, -0.5 , -0.15,  0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 ,  0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15,  0.15,  0.5 , 0.15 },    
+                       {  0.1 , -0.1 , -0.1 ,  0.45,  0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 ,  0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:junction_xz_loaded", {
+        description = "Pipe (junction between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.15, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.15,  0.45,  0.15, 0.15, 0.5  },
+                       { -0.1 , -0.1 ,  0.1 ,  0.1 , 0.1 , 0.45 },
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xy_down_loaded", {
+        description = "Pipe (downward bend between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.5, 0.15, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15,  0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 ,  0.1 ,  0.1 , 0.1  },
+                       { -0.1 , -0.1 , -0.1 ,  0.45,  0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 ,  0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xy_up_loaded", {
+        description = "Pipe (upward bend between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.15, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, 0.45 , -0.15, 0.15,  0.5, 0.15 },
+                       { -0.1 , -0.1 , -0.1 , 0.1 , 0.45, 0.1  },
+                       { -0.1 , -0.1 , -0.1 , 0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15, 0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:bend_xz_loaded", {
+        description = "Pipe (bend between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png",
+                       "pipes_pipe_end.png",
+                       "pipes_plain.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.15, -0.15, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.15,  0.45,  0.15, 0.15, 0.5  },
+                       { -0.1 , -0.1 ,  0.1 ,  0.1 , 0.1 , 0.45 },
+                       { -0.1 , -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xz_loaded", {
+        description = "Pipe (4-way crossing between X/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png"
+                       },
+
+        paramtype = "light",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.5, 0.5, 0.15, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+
+                       { -0.15, -0.15, -0.5 ,  0.15, 0.15, -0.45 },
+                       { -0.1 , -0.1 , -0.45,  0.1 , 0.1 ,  0.45 },
+                       { -0.15, -0.15,  0.45,  0.15, 0.15,  0.5  },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xy_loaded", {
+        description = "Pipe (4-way crossing between X/Y axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_windowed_loaded.png",
+                       "pipes_windowed_loaded.png"
+                       },
+
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },
+       
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },     
+
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:crossing_xyz_loaded", {
+        description = "Pipe (6-way crossing between X/Y/Z axes)",
+        drawtype = "nodebox",
+        tile_images = {        "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png",
+                       "pipes_pipe_end.png"
+                       },
+
+        paramtype = "light",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+
+                       { -0.15, -0.15, -0.5 ,  0.15, 0.15, -0.45 },
+                       { -0.1 , -0.1 , -0.45,  0.1 , 0.1 ,  0.45 },
+                       { -0.15, -0.15,  0.45,  0.15, 0.15,  0.5  },
+
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },     
+
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+print("[Pipes] Loaded!")
diff --git a/init.lua~ b/init.lua~
new file mode 100644 (file)
index 0000000..a101686
--- /dev/null
+++ b/init.lua~
@@ -0,0 +1,69 @@
+-- Pipes mod by VanessaE
+-- 2012-06-12
+--
+
+-- Entirely my own code.  This mod merely supplies enough nodes to build 
+-- a bunch of pipes in all directions and with all types of junctions.
+--
+-- License: WTFPL
+--
+
+local DEBUG = 1
+
+-- Local Functions
+
+local dbg = function(s)
+       if DEBUG == 1 then
+               print('[PIPES] ' .. s)
+       end
+end
+
+-- Nodes
+
+minetest.register_node("pipes:vertical", {
+        description = "Pipe (vertical)",
+        drawtype = "nodebox",
+        tile_images = {"pipes_pipe_side_empty.png"},
+        paramtype = "light",
+--     paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.15, -0.5, -0.15, 0.15,  0.5, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.15, -0.5 , -0.15, 0.15, -0.45, 0.15 },
+                       { -0.1 , -0.45, -0.1 , 0.1 ,  0.45, 0.1  },
+                       { -0.15,  0.45, -0.15, 0.15,  0.5 , 0.15 },     
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+minetest.register_node("pipes:horizontal", {
+        description = "Pipe (horizontal)",
+        drawtype = "nodebox",
+        tile_images = {"pipes_pipe_side_empty.png"},
+        paramtype = "light",
+       paramtype2 = "facedir",
+        selection_box = {
+                type = "fixed",
+               fixed = { -0.5, -0.15, -0.15, 0.5, 0.15, 0.15 },
+        },
+       node_box = {
+               type = "fixed",
+                fixed = {
+                       { -0.5 , -0.15, -0.15, -0.45, 0.15, 0.15 },
+                       { -0.45, -0.1 , -0.1 ,  0.45, 0.1 , 0.1  },
+                       {  0.45, -0.15, -0.15,  0.5 , 0.15, 0.15 },
+               }
+       },
+        groups = {snappy=3},
+        sounds = default.node_sound_wood_defaults(),
+       walkable = true,
+})
+
+print("[Pipes] Loaded!")
diff --git a/textures/pipes_pipe_end.png b/textures/pipes_pipe_end.png
new file mode 100644 (file)
index 0000000..61ec0a1
Binary files /dev/null and b/textures/pipes_pipe_end.png differ
diff --git a/textures/pipes_plain.png b/textures/pipes_plain.png
new file mode 100644 (file)
index 0000000..0c5753b
Binary files /dev/null and b/textures/pipes_plain.png differ
diff --git a/textures/pipes_windowed_empty.png b/textures/pipes_windowed_empty.png
new file mode 100644 (file)
index 0000000..c0f8e04
Binary files /dev/null and b/textures/pipes_windowed_empty.png differ
diff --git a/textures/pipes_windowed_loaded.png b/textures/pipes_windowed_loaded.png
new file mode 100644 (file)
index 0000000..e6ceb2a
Binary files /dev/null and b/textures/pipes_windowed_loaded.png differ