Skip to content

Commit 29dc500

Browse files
author
Jeija
committedNov 22, 2014
Fix bug in mesecon.mergetable that caused false rules
1 parent 5be179b commit 29dc500

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed
 

Diff for: ‎mesecons/util.lua

+3-2
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,14 @@ function mesecon.cmpAny(t1, t2)
194194
return true
195195
end
196196

197-
-- does not overwrite values
197+
-- does not overwrite values; number keys (ipairs) are appended, not overwritten
198198
mesecon.mergetable = function(source, dest)
199199
for k, v in pairs(source) do
200200
dest[k] = dest[k] or v
201201
end
202+
202203
for i, v in ipairs(source) do
203-
dest[i] = dest[i] or v
204+
table.insert(dest, v)
204205
end
205206
end
206207

Diff for: ‎mesecons_receiver/init.lua

+7-9
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,9 @@ function mesecon.receiver_get_pos_from_rcpt(pos, param2)
9191
elseif param2 == 0 then
9292
rules = mesecon.rotate_rules_right(rules)
9393
end
94-
np = {
95-
x = pos.x + rules[1].x,
96-
y = pos.y + rules[1].y,
97-
z = pos.z + rules[1].z}
94+
local np = { x = pos.x + rules[1].x,
95+
y = pos.y + rules[1].y,
96+
z = pos.z + rules[1].z}
9897
return np
9998
end
10099

@@ -141,16 +140,15 @@ end)
141140

142141
minetest.register_on_placenode(function (pos, node)
143142
if string.find(node.name, "mesecons:wire_") ~=nil then
144-
rules = { {x = 2, y = 0, z = 0},
143+
local rules = { {x = 2, y = 0, z = 0},
145144
{x =-2, y = 0, z = 0},
146145
{x = 0, y = 0, z = 2},
147146
{x = 0, y = 0, z =-2}}
148147
local i = 1
149148
while rules[i] ~= nil do
150-
np = {
151-
x = pos.x + rules[i].x,
152-
y = pos.y + rules[i].y,
153-
z = pos.z + rules[i].z}
149+
local np = { x = pos.x + rules[i].x,
150+
y = pos.y + rules[i].y,
151+
z = pos.z + rules[i].z}
154152
if minetest.get_item_group(minetest.get_node(np).name, "mesecon_needs_receiver") == 1 then
155153
mesecon.receiver_place(np)
156154
end

0 commit comments

Comments
 (0)
Please sign in to comment.