From: Vanessa Ezekowitz Date: Thu, 12 Jul 2012 21:52:35 +0000 (-0400) Subject: first commit X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=104bbf67dd0cf73df45d9be9b773c6446fdcc8a5;p=zefram%2Fminetest%2Fpipeworks.git first commit --- 104bbf67dd0cf73df45d9be9b773c6446fdcc8a5 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 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 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 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 index 0000000..e6ceb2a Binary files /dev/null and b/textures/pipes_windowed_loaded.png differ