summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README28
-rw-r--r--init.lua672
-rw-r--r--init.lua~69
-rw-r--r--textures/pipes_pipe_end.pngbin0 -> 423 bytes
-rw-r--r--textures/pipes_plain.pngbin0 -> 296 bytes
-rw-r--r--textures/pipes_windowed_empty.pngbin0 -> 335 bytes
-rw-r--r--textures/pipes_windowed_loaded.pngbin0 -> 345 bytes
7 files changed, 769 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
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
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
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
index 0000000..61ec0a1
--- /dev/null
+++ b/textures/pipes_pipe_end.png
Binary files differ
diff --git a/textures/pipes_plain.png b/textures/pipes_plain.png
new file mode 100644
index 0000000..0c5753b
--- /dev/null
+++ b/textures/pipes_plain.png
Binary files differ
diff --git a/textures/pipes_windowed_empty.png b/textures/pipes_windowed_empty.png
new file mode 100644
index 0000000..c0f8e04
--- /dev/null
+++ b/textures/pipes_windowed_empty.png
Binary files differ
diff --git a/textures/pipes_windowed_loaded.png b/textures/pipes_windowed_loaded.png
new file mode 100644
index 0000000..e6ceb2a
--- /dev/null
+++ b/textures/pipes_windowed_loaded.png
Binary files differ