From df8ef255a3a66c676fc74197fb034e5033aed763 Mon Sep 17 00:00:00 2001 From: thetaepsilon-gamedev Date: Wed, 27 Sep 2017 17:25:16 +0100 Subject: flowing_logic.lua: add new spigot code + ABM registration --- register_flow_logic.lua | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'register_flow_logic.lua') diff --git a/register_flow_logic.lua b/register_flow_logic.lua index e027dae..c6fc46f 100644 --- a/register_flow_logic.lua +++ b/register_flow_logic.lua @@ -7,13 +7,20 @@ local pipes_empty_nodenames = pipeworks.pipes_empty_nodenames -- FIXME: DRY principle, get this from elsewhere in the code local pump_on = "pipeworks:pump_on" local pump_off = "pipeworks:pump_off" +local spigot_off = "pipeworks:spigot" +local spigot_on = "pipeworks:spigot_pouring" local pipes_all_nodenames = pipes_full_nodenames for _, pipe in ipairs(pipes_empty_nodenames) do table.insert(pipes_all_nodenames, pipe) end -table.insert(pipes_all_nodenames, pump_off) -table.insert(pipes_all_nodenames, pump_on) + +if pipeworks.enable_pipe_devices then + table.insert(pipes_all_nodenames, pump_off) + table.insert(pipes_all_nodenames, pump_on) + table.insert(pipes_all_nodenames, spigot_on) + table.insert(pipes_all_nodenames, spigot_off) +end if pipeworks.enable_pipes then @@ -37,4 +44,14 @@ if pipeworks.enable_pipe_devices then pipeworks.run_pump_intake(pos, node) end }) + -- output water from spigots + -- add both "on/off" spigots so one can be used to indicate a certain level of fluid. + minetest.register_abm({ + nodenames = { spigot_on, spigot_off }, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pipeworks.run_spigot_output(pos, node) + end + }) end -- cgit v1.2.3