forked from VoxeLibre/VoxeLibre
Don't allow ladders on ceilings or floors
This commit is contained in:
parent
8458ac1962
commit
2a359b0d13
|
@ -1159,8 +1159,38 @@ minetest.register_node("mcl_core:ladder", {
|
||||||
--wall_side = = <default>
|
--wall_side = = <default>
|
||||||
},
|
},
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
groups = {handy=1,axey=1, deco_block=1},
|
groups = {handy=1,axey=1, attached_node=1, deco_block=1},
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
node_placement_prediction = "",
|
||||||
|
-- Restrict placement of ladders
|
||||||
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
if pointed_thing.type ~= "node" then
|
||||||
|
-- no interaction possible with entities
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
|
||||||
|
local under = pointed_thing.under
|
||||||
|
local node = minetest.get_node(under)
|
||||||
|
|
||||||
|
local def = minetest.registered_nodes[node.name]
|
||||||
|
if def and def.on_rightclick then
|
||||||
|
return def.on_rightclick(under, node, placer, itemstack,
|
||||||
|
pointed_thing) or itemstack, false
|
||||||
|
end
|
||||||
|
local above = pointed_thing.above
|
||||||
|
|
||||||
|
-- Ladders may not be placed on ceiling or floor
|
||||||
|
if under.y ~= above.y then
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
local success = minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||||
|
|
||||||
|
if success and not minetest.setting_getbool("creative_mode") then
|
||||||
|
itemstack:take_item()
|
||||||
|
end
|
||||||
|
return itemstack
|
||||||
|
end,
|
||||||
|
|
||||||
_mcl_blast_resistance = 2,
|
_mcl_blast_resistance = 2,
|
||||||
_mcl_hardness = 0.4,
|
_mcl_hardness = 0.4,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue