register_flow_logic.lua: begin refactoring abm registration to allow use by other mods

This commit is contained in:
thetaepsilon-gamedev 2017-09-30 22:41:38 +01:00
parent 0251baf692
commit 8dfbcad949
1 changed files with 14 additions and 9 deletions

View File

@ -17,15 +17,20 @@ if pipeworks.enable_pipes then
}) })
end end
]] ]]
-- flowables.register.simple takes care of creating an array-like table of node names
minetest.register_abm({ local register_abm_balance = function(nodename)
nodenames = pipeworks.flowables.list.simple_nodenames, minetest.register_abm({
interval = 1, nodenames = { nodename },
chance = 1, interval = 1,
action = function(pos, node, active_object_count, active_object_count_wider) chance = 1,
pipeworks.flowlogic.balance_pressure(pos, node) action = function(pos, node, active_object_count, active_object_count_wider)
end pipeworks.flowlogic.balance_pressure(pos, node)
}) end
})
end
for nodename, _ in pairs(pipeworks.flowables.list.simple) do
register_abm_balance(nodename)
end
if pipeworks.enable_pipe_devices then if pipeworks.enable_pipe_devices then
-- absorb water into pumps if it'll fit -- absorb water into pumps if it'll fit