diff options
| author | thetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com> | 2017-09-30 23:22:04 +0100 | 
|---|---|---|
| committer | thetaepsilon-gamedev <thetaepsilon-gamedev@noreply.users.github.com> | 2017-09-30 23:22:04 +0100 | 
| commit | d69941a0ae763d6681ede2185ad88e25b11fead5 (patch) | |
| tree | edea9e413c5c9b0e1a8fff74a630605c9b426351 | |
| parent | afcec82ae336cba3e874f6afd1b4e46e04245f7d (diff) | |
temporarily move ABM registration out of register_flow_logic.lua to allow refactoring it into flowable registry
| -rw-r--r-- | flowable_nodes_add_pipes.lua | 8 | ||||
| -rw-r--r-- | init.lua | 2 | ||||
| -rw-r--r-- | register_flow_logic.lua | 39 | 
3 files changed, 17 insertions, 32 deletions
| diff --git a/flowable_nodes_add_pipes.lua b/flowable_nodes_add_pipes.lua index e681619..6fe8b7e 100644 --- a/flowable_nodes_add_pipes.lua +++ b/flowable_nodes_add_pipes.lua @@ -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 @@ -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 diff --git a/register_flow_logic.lua b/register_flow_logic.lua index f3e8fbd..e7bed6a 100644 --- a/register_flow_logic.lua +++ b/register_flow_logic.lua @@ -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 +]] | 
