summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoplace.lua22
-rw-r--r--devices.lua42
-rw-r--r--init.lua6
3 files changed, 69 insertions, 1 deletions
diff --git a/autoplace.lua b/autoplace.lua
index 2e5556f..c70095f 100644
--- a/autoplace.lua
+++ b/autoplace.lua
@@ -149,6 +149,28 @@ function pipes_scansurroundings(pos)
pzp=1
end
+-- ...sealed pipe entry/exit...
+
+ if (string.find(nxm.name, "pipeworks:entry_panel") ~= nil)
+ and (nxm.param2 == 1 or nxm.param2 == 3) then
+ pxm=1
+ end
+
+ if (string.find(nxp.name, "pipeworks:entry_panel") ~= nil)
+ and (nxp.param2 == 1 or nxp.param2 == 3) then
+ pxp=1
+ end
+
+ if (string.find(nzm.name, "pipeworks:entry_panel") ~= nil)
+ and (nzm.param2 == 0 or nzm.param2 == 2) then
+ pzm=1
+ end
+
+ if (string.find(nzp.name, "pipeworks:entry_panel") ~= nil)
+ and (nzp.param2 == 0 or nzp.param2 == 2) then
+ pzp=1
+ end
+
-- ...pumps, grates, and storage tanks
if (string.find(nym.name, "pipeworks:storage_tank_") ~= nil) or
diff --git a/devices.lua b/devices.lua
index 513104a..fadba09 100644
--- a/devices.lua
+++ b/devices.lua
@@ -213,6 +213,48 @@ minetest.register_node("pipeworks:spigot", {
}
})
+-- sealed pipe entry/exit (decorative horizontal pipe passing through a metal
+-- wall, for use in places where walls should look like they're airtight)
+
+ local airtightboxes = {}
+ pipe_addbox(airtightboxes, pipe_frontstub)
+ pipe_addbox(airtightboxes, pipe_backstub)
+ pipe_addbox(airtightboxes, entry_panel)
+
+minetest.register_node("pipeworks:entry_panel", {
+ description = "Airtight Pipe entry/exit",
+ drawtype = "nodebox",
+ tiles = {
+ "pipeworks_plain.png",
+ "pipeworks_plain.png",
+ "pipeworks_plain.png",
+ "pipeworks_plain.png",
+ "pipeworks_pipe_end_empty.png",
+ "pipeworks_pipe_end_empty.png"
+ },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=3, pipe=1},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ stack_max = 99,
+ after_place_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ pipelike=1,
+ on_construct = function(pos)
+ local meta = minetest.env:get_meta(pos)
+ meta:set_int("pipelike",1)
+ end,
+ node_box = {
+ type = "fixed",
+ fixed = airtightboxes,
+ },
+})
+
-- tanks
for fill = 0, 10 do
diff --git a/init.lua b/init.lua
index f875ce3..f4d2514 100644
--- a/init.lua
+++ b/init.lua
@@ -121,6 +121,10 @@ spigot_bottomstub = {
{ -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 }
}
+entry_panel = {
+ { -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 }
+}
+
-- Functions
dbg = function(s)
@@ -307,7 +311,7 @@ for zp = 0, 1 do
sounds = default.node_sound_wood_defaults(),
walkable = true,
stack_max = 99,
- drop = "pipeworks:pipe_110000_loaded",
+ drop = "pipeworks:pipe_110000_empty",
pipelike=1,
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)