Spawn chest lid only if there is space
This commit is contained in:
parent
0f62f88b56
commit
4a0ef1c6ae
@ -214,6 +214,10 @@ local register_chest = function(id, def)
|
|||||||
minetest.set_node(pos, {name="lzr_treasure:chest_"..id.."_open_"..treasure_id, param2=node.param2})
|
minetest.set_node(pos, {name="lzr_treasure:chest_"..id.."_open_"..treasure_id, param2=node.param2})
|
||||||
minetest.sound_play({name=sound_open, gain=0.5}, {pos=pos}, true)
|
minetest.sound_play({name=sound_open, gain=0.5}, {pos=pos}, true)
|
||||||
|
|
||||||
|
local pos_above = vector.offset(pos, 0, 1, 0)
|
||||||
|
local node_above = minetest.get_node(pos_above)
|
||||||
|
local def_above = minetest.registered_nodes[node_above.name]
|
||||||
|
if not def_above or not def_above.walkable then
|
||||||
-- Spawn chest lid
|
-- Spawn chest lid
|
||||||
local lidpos = vector.offset(pos, 0, 0.01, 0)
|
local lidpos = vector.offset(pos, 0, 0.01, 0)
|
||||||
local obj = minetest.add_entity(lidpos, "lzr_treasure:chest_lid")
|
local obj = minetest.add_entity(lidpos, "lzr_treasure:chest_lid")
|
||||||
@ -230,6 +234,7 @@ local register_chest = function(id, def)
|
|||||||
ent._chest_node_name = "lzr_treasure:chest_"..id.."_unlocked"
|
ent._chest_node_name = "lzr_treasure:chest_"..id.."_unlocked"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- call callbacks
|
-- call callbacks
|
||||||
for c=1, #registered_after_found_treasures do
|
for c=1, #registered_after_found_treasures do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user