Fix chest chain bug
This commit is contained in:
parent
e69e30bad8
commit
07a7f2fffa
@ -336,12 +336,17 @@ local function count_number_of_chests(pos)
|
|||||||
local node = techage.get_node_lvm(pos)
|
local node = techage.get_node_lvm(pos)
|
||||||
local dir = techage.side_to_outdir("B", node.param2)
|
local dir = techage.side_to_outdir("B", node.param2)
|
||||||
local pos1 = tubelib2.get_pos(pos, dir)
|
local pos1 = tubelib2.get_pos(pos, dir)
|
||||||
|
local param2 = node.param2
|
||||||
local cnt = 1
|
local cnt = 1
|
||||||
while cnt < 50 do
|
while cnt < 50 do
|
||||||
node = techage.get_node_lvm(pos1)
|
node = techage.get_node_lvm(pos1)
|
||||||
if node.name ~= "techage:ta4_chest_dummy" then
|
if node.name ~= "techage:ta4_chest_dummy" then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
local meta = M(pos1)
|
||||||
|
if meta:contains("param2") and meta:get_int("param2") ~= param2 then
|
||||||
|
break
|
||||||
|
end
|
||||||
pos1 = tubelib2.get_pos(pos1, dir)
|
pos1 = tubelib2.get_pos(pos1, dir)
|
||||||
cnt = cnt + 1
|
cnt = cnt + 1
|
||||||
end
|
end
|
||||||
@ -351,12 +356,17 @@ end
|
|||||||
local function search_chest_in_front(pos, node)
|
local function search_chest_in_front(pos, node)
|
||||||
local dir = techage.side_to_outdir("F", node.param2)
|
local dir = techage.side_to_outdir("F", node.param2)
|
||||||
local pos1 = tubelib2.get_pos(pos, dir)
|
local pos1 = tubelib2.get_pos(pos, dir)
|
||||||
|
local param2 = node.param2
|
||||||
local cnt = 1
|
local cnt = 1
|
||||||
while cnt < 50 do
|
while cnt < 50 do
|
||||||
node = techage.get_node_lvm(pos1)
|
node = techage.get_node_lvm(pos1)
|
||||||
if node.name ~= "techage:ta4_chest_dummy" then
|
if node.name ~= "techage:ta4_chest_dummy" then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
local meta = M(pos1)
|
||||||
|
if meta:contains("param2") and meta:get_int("param2") ~= param2 then
|
||||||
|
break
|
||||||
|
end
|
||||||
pos1 = tubelib2.get_pos(pos1, dir)
|
pos1 = tubelib2.get_pos(pos1, dir)
|
||||||
cnt = cnt + 1
|
cnt = cnt + 1
|
||||||
end
|
end
|
||||||
@ -529,6 +539,7 @@ minetest.register_node("techage:ta4_chest", {
|
|||||||
if search_chest_in_front(pos, node) then
|
if search_chest_in_front(pos, node) then
|
||||||
node.name = "techage:ta4_chest_dummy"
|
node.name = "techage:ta4_chest_dummy"
|
||||||
minetest.swap_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
|
M(pos):set_int("param2", node.param2)
|
||||||
else
|
else
|
||||||
local nvm = techage.get_nvm(pos)
|
local nvm = techage.get_nvm(pos)
|
||||||
gen_inv(nvm)
|
gen_inv(nvm)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user