mirror of
https://github.com/mt-mods/pipeworks.git
synced 2024-11-09 17:03:58 +01:00
new flow logic: abm_register.lua: add extra safeguarding for conditional activation of new flow logic
This commit is contained in:
parent
084174123d
commit
72f793e2b3
@ -1,30 +1,26 @@
|
||||
-- register new flow logic ABMs
|
||||
-- written 2017 by thetaepsilon
|
||||
|
||||
|
||||
|
||||
local register = {}
|
||||
pipeworks.flowlogic.abmregister = register
|
||||
|
||||
local flowlogic = pipeworks.flowlogic
|
||||
|
||||
-- A possible DRY violation here...
|
||||
-- DISCUSS: should it be possible later on to raise the the rate of ABMs, or lower the chance?
|
||||
-- Currently all the intervals and chances are hardcoded below.
|
||||
|
||||
|
||||
|
||||
-- register node list for the main logic function.
|
||||
-- see flowlogic.run() in abms.lua.
|
||||
|
||||
local register_flowlogic_abm = function(nodename)
|
||||
minetest.register_abm({
|
||||
nodenames = { nodename },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
flowlogic.run(pos, node)
|
||||
end
|
||||
})
|
||||
if pipeworks.toggles.pressure_logic then
|
||||
minetest.register_abm({
|
||||
nodenames = { nodename },
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
flowlogic.run(pos, node)
|
||||
end
|
||||
})
|
||||
else
|
||||
minetest.log("warning", "pipeworks pressure_logic not enabled but register.flowlogic() requested")
|
||||
end
|
||||
end
|
||||
register.flowlogic = register_flowlogic_abm
|
||||
|
Loading…
Reference in New Issue
Block a user