diff options
| -rw-r--r-- | devices.lua | 3 | ||||
| -rw-r--r-- | new_flow_logic/flowable_node_registry_install.lua | 9 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/devices.lua b/devices.lua index 44c9d5e..196d660 100644 --- a/devices.lua +++ b/devices.lua @@ -524,6 +524,9 @@ minetest.register_node(nodename_sensor_loaded, {  -- FIXME requires-directionality  new_flow_logic_register.simple(nodename_sensor_empty)  new_flow_logic_register.simple(nodename_sensor_loaded) +-- activate flow sensor at roughly half the pressure pumps drive pipes +local sensor_pressure_set = { { nodename_sensor_empty, 0.0 }, { nodename_sensor_loaded, 2.0 } } +new_flow_logic_register.transition_simple_set(sensor_pressure_set) diff --git a/new_flow_logic/flowable_node_registry_install.lua b/new_flow_logic/flowable_node_registry_install.lua index 63151f0..f019dc3 100644 --- a/new_flow_logic/flowable_node_registry_install.lua +++ b/new_flow_logic/flowable_node_registry_install.lua @@ -147,8 +147,11 @@ local simple_transitions = pipeworks.flowables.transitions.simple  register.transition_simple_set = function(nodeset)  	local set = {} -	for nodename, value in pairs(nodeset) do -		if type(nodename) ~= "string" then simpleseterror("nodename key "..tostring(nodename).."was not a string!") end +	for index, element in ipairs(nodeset) do +		if type(element) ~= "table" then simpleseterror("element "..tostring(index).." in nodeset was not table!") end +		local nodename = element[1] +		local value = element[2] +		if type(nodename) ~= "string" then simpleseterror("nodename "..tostring(nodename).."was not a string!") end  		if type(value) ~= "number" then simpleseterror("pressure value "..tostring(value).."was not a number!") end  		insert_transition_base(nodename)  		if simple_transitions[nodename] then duplicateerr("simple transition set", nodename) end @@ -159,7 +162,7 @@ register.transition_simple_set = function(nodeset)  	-- sort pressure values, smallest first  	local smallest_first = function(a, b) -		return a.value < b.value +		return a.threshold < b.threshold  	end  	table.sort(set, smallest_first) | 
