forked from mtcontrib/pipeworks
pressure logic/flowable node registry: move pump directionality code to dedicated fixed vertical helper
This commit is contained in:
parent
7b141fb0ea
commit
7f7dfb79d5
|
@ -165,13 +165,7 @@ for s in ipairs(states) do
|
||||||
})
|
})
|
||||||
|
|
||||||
-- FIXME: this currently assumes that pumps can only rotate around the fixed axis pointing Y+.
|
-- FIXME: this currently assumes that pumps can only rotate around the fixed axis pointing Y+.
|
||||||
-- TODO: these directionality functions should be behind a helper so the fountainhead can use something similar.
|
new_flow_logic_register.directional_vertical_fixed(pumpname, true)
|
||||||
local upwards = {x=0,y=1,z=0}
|
|
||||||
local neighbourfn = function(node) return { upwards } end
|
|
||||||
local directionfn = function(node, direction)
|
|
||||||
return vector.equals(direction, upwards)
|
|
||||||
end
|
|
||||||
new_flow_logic_register.directional(pumpname, neighbourfn, directionfn)
|
|
||||||
local pump_drive = 4
|
local pump_drive = 4
|
||||||
if states[s] ~= "off" then
|
if states[s] ~= "off" then
|
||||||
new_flow_logic_register.intake_simple(pumpname, pump_drive)
|
new_flow_logic_register.intake_simple(pumpname, pump_drive)
|
||||||
|
|
|
@ -52,6 +52,20 @@ register.directional = function(nodename, neighbourfn, directionfn)
|
||||||
regwarning("directional", nodename)
|
regwarning("directional", nodename)
|
||||||
end
|
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)
|
local checkbase = function(nodename)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user