summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-01-14 14:17:07 -0500
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-01-14 14:34:55 -0500
commit3a7b9fa31ce872ca15b590bf7f2667aa10ec8646 (patch)
treee94a44eaf111b981dd67aeee03974689b752d0a9
parent109729cfb27efd816238f094a738a8ac23e83dda (diff)
downloadpipeworks-3a7b9fa31ce872ca15b590bf7f2667aa10ec8646.tar
pipeworks-3a7b9fa31ce872ca15b590bf7f2667aa10ec8646.tar.gz
pipeworks-3a7b9fa31ce872ca15b590bf7f2667aa10ec8646.tar.bz2
pipeworks-3a7b9fa31ce872ca15b590bf7f2667aa10ec8646.tar.xz
pipeworks-3a7b9fa31ce872ca15b590bf7f2667aa10ec8646.zip
Added a little stub to the bottom of the spigot, showing the water texture,
so that when a spigot is flowing, it looks like water is actually pouring out of it.
-rw-r--r--devices.lua53
-rw-r--r--flowing_logic.lua6
-rw-r--r--textures/pipeworks_spigot_bottom2.pngbin0 -> 3389 bytes
-rw-r--r--textures/pipeworks_spigot_sides.pngbin3232 -> 338 bytes
-rw-r--r--textures/pipeworks_spigot_sides2.pngbin0 -> 267 bytes
5 files changed, 56 insertions, 3 deletions
diff --git a/devices.lua b/devices.lua
index 9d6a6d8..faa1b86 100644
--- a/devices.lua
+++ b/devices.lua
@@ -48,6 +48,12 @@ spigot_bottomstub = {
{ -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 }
}
+spigot_stream = {
+ { -3/64, -48/64, -5/64, 3/64, -16/64, 5/64 },
+ { -4/64, -48/64, -4/64, 4/64, -16/64, 4/64 },
+ { -5/64, -48/64, -3/64, 5/64, -16/64, 3/64 }
+}
+
entry_panel = {
{ -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 }
}
@@ -194,12 +200,18 @@ minetest.register_node("pipeworks:grating", {
pipe_addbox(spigotboxes, spigot_bottomstub)
pipe_addbox(spigotboxes, pipe_bendsphere)
+ local spigotboxes_pouring = {}
+ pipe_addbox(spigotboxes_pouring, spigot_stream)
+ pipe_addbox(spigotboxes_pouring, pipe_backstub)
+ pipe_addbox(spigotboxes_pouring, spigot_bottomstub)
+ pipe_addbox(spigotboxes_pouring, pipe_bendsphere)
+
minetest.register_node("pipeworks:spigot", {
description = "Spigot outlet",
drawtype = "nodebox",
tiles = {
"pipeworks_spigot_sides.png",
- "pipeworks_pipe_end_empty.png",
+ "pipeworks_spigot_sides.png",
"pipeworks_spigot_sides.png",
"pipeworks_spigot_sides.png",
"pipeworks_pipe_end_empty.png",
@@ -231,6 +243,45 @@ minetest.register_node("pipeworks:spigot", {
}
})
+minetest.register_node("pipeworks:spigot_pouring", {
+ description = "Spigot outlet",
+ drawtype = "nodebox",
+ tiles = {
+ "pipeworks_spigot_sides.png",
+ "pipeworks_spigot_sides.png",
+ "default_water.png^pipeworks_spigot_sides2.png",
+ "default_water.png^pipeworks_spigot_sides2.png",
+ "default_water.png^pipeworks_spigot_sides2.png",
+ "default_water.png^pipeworks_spigot_sides2.png"
+ },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=3, pipe=1},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = true,
+ pipelike=1,
+ on_construct = function(pos)
+ local meta = minetest.env:get_meta(pos)
+ meta:set_int("pipelike",1)
+ end,
+ after_place_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ pipe_scanforobjects(pos)
+ end,
+ node_box = {
+ type = "fixed",
+ fixed = spigotboxes_pouring,
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 }
+ },
+ drop = "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)
diff --git a/flowing_logic.lua b/flowing_logic.lua
index d58d124..dffdabf 100644
--- a/flowing_logic.lua
+++ b/flowing_logic.lua
@@ -79,8 +79,10 @@ local spigot_check = function(pos,node)
local top = minetest.env:get_node(check[node.param2+1]).name
dbg('found '..top)
if string.find(top,'_loaded') then
+ minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot_pouring'})
minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'})
elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then
+ minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot'})
minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z})
end
end
@@ -100,11 +102,11 @@ minetest.register_abm({
})
minetest.register_abm({
- nodenames = {'pipeworks:outlet','pipeworks:spigot'},
+ nodenames = {'pipeworks:outlet','pipeworks:spigot','pipeworks:spigot_pouring'},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
if node.name == 'pipeworks:outlet' then update_outlet(pos)
- elseif node.name == 'pipeworks:spigot' then spigot_check(pos,node) end
+ elseif node.name == 'pipeworks:spigot' or node.name == 'pipeworks:spigot_pouring' then spigot_check(pos,node) end
end
})
diff --git a/textures/pipeworks_spigot_bottom2.png b/textures/pipeworks_spigot_bottom2.png
new file mode 100644
index 0000000..3d4435b
--- /dev/null
+++ b/textures/pipeworks_spigot_bottom2.png
Binary files differ
diff --git a/textures/pipeworks_spigot_sides.png b/textures/pipeworks_spigot_sides.png
index e41599f..ce7d90a 100644
--- a/textures/pipeworks_spigot_sides.png
+++ b/textures/pipeworks_spigot_sides.png
Binary files differ
diff --git a/textures/pipeworks_spigot_sides2.png b/textures/pipeworks_spigot_sides2.png
new file mode 100644
index 0000000..6533204
--- /dev/null
+++ b/textures/pipeworks_spigot_sides2.png
Binary files differ