mirror of
https://github.com/mt-mods/pipeworks.git
synced 2024-11-09 17:03:58 +01:00
first commit
This commit is contained in:
commit
104bbf67dd
28
README
Normal file
28
README
Normal file
@ -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.
|
672
init.lua
Normal file
672
init.lua
Normal file
@ -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!")
|
69
init.lua~
Normal file
69
init.lua~
Normal file
@ -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!")
|
BIN
textures/pipes_pipe_end.png
Normal file
BIN
textures/pipes_pipe_end.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 423 B |
BIN
textures/pipes_plain.png
Normal file
BIN
textures/pipes_plain.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 296 B |
BIN
textures/pipes_windowed_empty.png
Normal file
BIN
textures/pipes_windowed_empty.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 335 B |
BIN
textures/pipes_windowed_loaded.png
Normal file
BIN
textures/pipes_windowed_loaded.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 345 B |
Loading…
Reference in New Issue
Block a user