Fix unremovable ta4_chest_dummy bug
This commit is contained in:
parent
a88a07e421
commit
71d0d6f012
@ -346,6 +346,20 @@ local function count_number_of_chests(pos)
|
|||||||
M(pos):set_int("stacksize", STACK_SIZE * cnt)
|
M(pos):set_int("stacksize", STACK_SIZE * cnt)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function dummy_chest_behind(pos, node)
|
||||||
|
local dir = techage.side_to_outdir("B", node.param2)
|
||||||
|
local pos1 = tubelib2.get_pos(pos, dir)
|
||||||
|
node = techage.get_node_lvm(pos1)
|
||||||
|
return node.name == "techage:ta4_chest_dummy"
|
||||||
|
end
|
||||||
|
|
||||||
|
local function part_of_a_chain(pos, node)
|
||||||
|
local dir = techage.side_to_outdir("F", node.param2)
|
||||||
|
local pos1 = tubelib2.get_pos(pos, dir)
|
||||||
|
node = techage.get_node_lvm(pos1)
|
||||||
|
return node.name == "techage:ta4_chest_dummy" or node.name == "techage:ta4_chest"
|
||||||
|
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)
|
||||||
@ -529,6 +543,10 @@ minetest.register_node("techage:ta4_chest", {
|
|||||||
|
|
||||||
after_place_node = function(pos, placer)
|
after_place_node = function(pos, placer)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
if dummy_chest_behind(pos, node) then
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
return true
|
||||||
|
end
|
||||||
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)
|
||||||
@ -667,6 +685,18 @@ techage.register_node({"techage:ta4_chest_dummy"}, {
|
|||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_lbm({
|
||||||
|
label = "Repair Dummy Chests",
|
||||||
|
name = "techage:chest_dummy",
|
||||||
|
nodenames = {"techage:ta4_chest_dummy"},
|
||||||
|
run_at_every_load = true,
|
||||||
|
action = function(pos, node)
|
||||||
|
if not part_of_a_chain(pos, node) then
|
||||||
|
minetest.swap_node(pos, {name = "techage:ta4_chest", param2 = node.param2})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = "techage:ta4_chest",
|
output = "techage:ta4_chest",
|
||||||
|
Loading…
Reference in New Issue
Block a user