temporarily move ABM registration out of register_flow_logic.lua to allow refactoring it into flowable registry

This commit is contained in:
thetaepsilon-gamedev 2017-09-30 23:22:04 +01:00
parent afcec82ae3
commit d69941a0ae
3 changed files with 17 additions and 32 deletions

View File

@ -16,6 +16,7 @@ local pipes_full_nodenames = pipeworks.pipes_full_nodenames
local pipes_empty_nodenames = pipeworks.pipes_empty_nodenames
local register = pipeworks.flowables.register
local abmregister = pipeworks.flowlogic.abmregister
@ -29,9 +30,11 @@ local spigot_on = "pipeworks:spigot_pouring"
if pipeworks.enable_pipes then
for _, pipe in ipairs(pipes_full_nodenames) do
register.simple(pipe)
abmregister.balance(pipe)
end
for _, pipe in ipairs(pipes_empty_nodenames) do
register.simple(pipe)
abmregister.balance(pipe)
end
if pipeworks.enable_pipe_devices then
@ -39,7 +42,12 @@ if pipeworks.enable_pipes then
register.simple(pump_on)
register.simple(spigot_on)
register.simple(spigot_off)
abmregister.balance(pump_off)
abmregister.balance(pump_on)
abmregister.balance(spigot_on)
abmregister.balance(spigot_off)
register.intake_simple(pump_on, thresholds.pump_pressure)
abmregister.input(pump_on, thresholds.pump_pressure)
end
end

View File

@ -124,8 +124,8 @@ if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua")
-- individual enable flags also checked in flowable_nodes_add_pipes.lua
if pipeworks.enable_new_flow_logic then
dofile(pipeworks.modpath.."/new_flow_logic.lua")
dofile(pipeworks.modpath.."/flowable_nodes_add_pipes.lua")
dofile(pipeworks.modpath.."/register_flow_logic.lua")
dofile(pipeworks.modpath.."/flowable_nodes_add_pipes.lua")
end
if pipeworks.enable_redefines then

View File

@ -8,21 +8,8 @@ pipeworks.flowlogic.abmregister = register
-- note that checking for feature toggles (because otherwise certain pipes aren't define)
-- is now done by flowable_nodes_add_pipes.lua
--[[
if pipeworks.enable_pipes then
minetest.register_abm({
nodenames = pipes_all_nodenames,
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
pipeworks.balance_pressure(pos, node)
end
})
end
]]
-- register a node name for the pressure balancing ABM.
-- currently this only exists as a per-node function to allow nodes to be registered outside pipeworks.
local register_abm_balance = function(nodename)
minetest.register_abm({
nodenames = { nodename },
@ -34,11 +21,10 @@ local register_abm_balance = function(nodename)
})
end
register.balance = register_abm_balance
for nodename, _ in pairs(pipeworks.flowables.list.simple) do
register_abm_balance(nodename)
end
local register_abm_input = function(nodename, properties)
-- register a node for the pump ABM.
-- maxpressure is the maximum pressure that this pump can drive.
local register_abm_input = function(nodename, maxpressure)
minetest.register_abm({
nodenames = { nodename },
interval = 1,
@ -50,16 +36,8 @@ local register_abm_input = function(nodename, properties)
end
register.input = register_abm_input
if pipeworks.enable_pipe_devices then
-- absorb water into pumps if it'll fit
for nodename, properties in pairs(pipeworks.flowables.inputs.list) do
register_abm_input(nodename, properties)
end
-- output water from spigots
-- add both "on/off" spigots so one can be used to indicate a certain level of fluid.
-- temp. disabled as the node names were moved to flowable_node_add_pipes.lua
--[[
-- old spigot ABM code, not yet migrated
--[[
minetest.register_abm({
nodenames = { spigot_on, spigot_off },
interval = 1,
@ -68,5 +46,4 @@ if pipeworks.enable_pipe_devices then
pipeworks.run_spigot_output(pos, node)
end
})
]]
end
]]