mirror of
https://github.com/minetest-mods/mesecons.git
synced 2025-07-03 08:00:25 +02:00
Use iterative algorithm for mesecon.find_receptor_on, major performance improvement for large
circuits. This also fixes a crash introduced with the previous commit that occured when placing a wire crossing.
This commit is contained in:
@ -19,7 +19,7 @@ local wire_getconnect = function (from_pos, self_pos)
|
||||
rules = mesecon.rules.default
|
||||
else
|
||||
rules = mesecon.get_any_inputrules(node) or {}
|
||||
mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
|
||||
rules = mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
|
||||
end
|
||||
|
||||
for _, r in ipairs(mesecon.flattenrules(rules)) do
|
||||
@ -80,7 +80,7 @@ local update_on_place_dig = function (pos, node)
|
||||
rules = mesecon.rules.default
|
||||
else
|
||||
rules = mesecon.get_any_inputrules(node) or {}
|
||||
mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
|
||||
rules = mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
|
||||
end
|
||||
if (not rules) then return end
|
||||
|
||||
|
Reference in New Issue
Block a user