summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesecons/internal.lua14
1 files changed, 10 insertions, 4 deletions
diff --git a/mesecons/internal.lua b/mesecons/internal.lua
index d9c5886..4ef2b18 100644
--- a/mesecons/internal.lua
+++ b/mesecons/internal.lua
@@ -408,8 +408,11 @@ function mesecon.turnon(pos, link)
minetest.swap_node(f.pos, {name = mesecon.get_conductor_on(node, f.link),
param2 = node.param2})
- for npos, l in pairs(neighborlinks) do
- table.insert(frontiers, {pos = minetest.get_position_from_hash(npos), link = l})
+ for npos, links in pairs(neighborlinks) do
+ -- links = all links to node, l = each single link
+ for _, l in ipairs(links) do
+ table.insert(frontiers, {pos = minetest.get_position_from_hash(npos), link = l})
+ end
end
else
mesecon.queue:add_action(f.pos, "turnon", {f.link}, nil, true)
@@ -465,8 +468,11 @@ function mesecon.turnoff(pos, link)
minetest.swap_node(f.pos, {name = mesecon.get_conductor_off(node, f.link),
param2 = node.param2})
- for npos, l in pairs(neighborlinks) do
- table.insert(frontiers, {pos = minetest.get_position_from_hash(npos), link = l})
+ for npos, links in pairs(neighborlinks) do
+ -- links = all links to node, l = each single link
+ for _, l in ipairs(links) do
+ table.insert(frontiers, {pos = minetest.get_position_from_hash(npos), link = l})
+ end
end
else
mesecon.queue:add_action(f.pos, "turnoff", {f.link}, nil, true)