diff options
Diffstat (limited to 'pressure_logic')
-rw-r--r-- | pressure_logic/flowable_node_registry_install.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pressure_logic/flowable_node_registry_install.lua b/pressure_logic/flowable_node_registry_install.lua index 3cd9c4d..d8f945b 100644 --- a/pressure_logic/flowable_node_registry_install.lua +++ b/pressure_logic/flowable_node_registry_install.lua @@ -52,6 +52,20 @@ register.directional = function(nodename, neighbourfn, directionfn) regwarning("directional", nodename) end +-- register a node as a directional flowable that can only flow through either the top or bottom side. +-- used for fountainheads (bottom side) and pumps (top side). +-- this is in world terms, not facedir relative! +register.directional_vertical_fixed = function(nodename, topside) + local y + if topside then y = 1 else y = -1 end + local side = { x=0, y=y, z=0 } + local neighbourfn = function(node) return { side } end + local directionfn = function(node, direction) + return vector.equals(direction, side) + end + register.directional(nodename, neighbourfn, directionfn) +end + local checkbase = function(nodename) |