summaryrefslogtreecommitdiff
path: root/new_flow_logic/flowable_node_registry_install.lua
diff options
context:
space:
mode:
Diffstat (limited to 'new_flow_logic/flowable_node_registry_install.lua')
-rw-r--r--new_flow_logic/flowable_node_registry_install.lua16
1 files changed, 13 insertions, 3 deletions
diff --git a/new_flow_logic/flowable_node_registry_install.lua b/new_flow_logic/flowable_node_registry_install.lua
index c8f6889..a49c31a 100644
--- a/new_flow_logic/flowable_node_registry_install.lua
+++ b/new_flow_logic/flowable_node_registry_install.lua
@@ -20,6 +20,9 @@ local insertbase = function(nodename)
if checkexists(nodename) then error("pipeworks.flowables duplicate registration!") end
pipeworks.flowables.list.all[nodename] = true
-- table.insert(pipeworks.flowables.list.nodenames, nodename)
+ if pipeworks.toggles.pressure_logic then
+ abmregister.flowlogic(nodename)
+ end
end
local regwarning = function(kind, nodename)
@@ -35,12 +38,19 @@ register.simple = function(nodename)
insertbase(nodename)
pipeworks.flowables.list.simple[nodename] = true
table.insert(pipeworks.flowables.list.simple_nodenames, nodename)
- if pipeworks.toggles.pressure_logic then
- abmregister.flowlogic(nodename)
- end
regwarning("simple", nodename)
end
+-- Register a node as a directional flowable:
+-- has a helper function which determines which nodes to consider valid neighbours.
+register.directional = function(nodename, neighbourfn)
+ insertbase(nodename)
+ pipeworks.flowables.list.directional[nodename] = { neighbourfn = neighbourfn }
+ regwarning("directional", nodename)
+end
+
+
+
local checkbase = function(nodename)
if not checkexists(nodename) then error("pipeworks.flowables node doesn't exist as a flowable!") end
end