summaryrefslogtreecommitdiff
path: root/flowing_logic.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-10-27 22:38:19 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-10-27 22:38:19 -0400
commit3d19cca557b3f0f176412dada60a98d256687438 (patch)
treef76d8533b4154e3d2c41eaaa3d86701637825dbc /flowing_logic.lua
parenta59e1470135dffe2c2adfecf7d9b39d6543bd7bc (diff)
downloadpipeworks-3d19cca557b3f0f176412dada60a98d256687438.tar
pipeworks-3d19cca557b3f0f176412dada60a98d256687438.tar.gz
pipeworks-3d19cca557b3f0f176412dada60a98d256687438.tar.bz2
pipeworks-3d19cca557b3f0f176412dada60a98d256687438.tar.xz
pipeworks-3d19cca557b3f0f176412dada60a98d256687438.zip
Add fountainhead (vertical spigot, basically).
Diffstat (limited to 'flowing_logic.lua')
-rw-r--r--flowing_logic.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/flowing_logic.lua b/flowing_logic.lua
index cd1102d..14af75a 100644
--- a/flowing_logic.lua
+++ b/flowing_logic.lua
@@ -97,3 +97,25 @@ pipeworks_spigot_check = function(pos, node)
end
end
+pipeworks_fountainhead_check = function(pos, node)
+ local abovename = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}).name
+ if abovename and (abovename == "air" or abovename == "default:water_flowing" or abovename == "default:water_source") then
+ local fountainhead_name = minetest.get_node(pos).name
+ local near_node = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z})
+ if near_node and string.find(near_node.name, "_loaded") then
+ if fountainhead_name and fountainhead_name == "pipeworks:fountainhead" then
+ minetest.add_node(pos,{name = "pipeworks:fountainhead_pouring"})
+ if finitewater or abovename ~= "default:water_source" then
+ minetest.add_node({x=pos.x,y=pos.y+1,z=pos.z},{name = "default:water_source"})
+ end
+ end
+ else
+ if fountainhead_name == "pipeworks:fountainhead_pouring" then
+ minetest.add_node({x=pos.x,y=pos.y,z=pos.z},{name = "pipeworks:fountainhead"})
+ if abovename == "default:water_source" and not finitewater then
+ minetest.remove_node({x=pos.x,y=pos.y+1,z=pos.z})
+ end
+ end
+ end
+ end
+end