Disallow to place ladders on some other nodes
parent
a7fdfa13ef
commit
5f20b18d32
|
@ -1171,12 +1171,20 @@ minetest.register_node("mcl_core:ladder", {
|
||||||
|
|
||||||
local under = pointed_thing.under
|
local under = pointed_thing.under
|
||||||
local node = minetest.get_node(under)
|
local node = minetest.get_node(under)
|
||||||
|
|
||||||
local def = minetest.registered_nodes[node.name]
|
local def = minetest.registered_nodes[node.name]
|
||||||
|
local groups = def.groups
|
||||||
|
if (groups and (groups.glass or groups.leaves or groups.slab)) or
|
||||||
|
node.name == "mcl_core:ice" or node.name == "mcl_nether:glowstone" or node.name == "mcl_ocean:sea_lantern" then
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check special rightclick action of pointed node
|
||||||
if def and def.on_rightclick then
|
if def and def.on_rightclick then
|
||||||
|
if not placer:get_player_control().sneak then
|
||||||
return def.on_rightclick(under, node, placer, itemstack,
|
return def.on_rightclick(under, node, placer, itemstack,
|
||||||
pointed_thing) or itemstack, false
|
pointed_thing) or itemstack, false
|
||||||
end
|
end
|
||||||
|
end
|
||||||
local above = pointed_thing.above
|
local above = pointed_thing.above
|
||||||
|
|
||||||
-- Ladders may not be placed on ceiling or floor
|
-- Ladders may not be placed on ceiling or floor
|
||||||
|
|
Loading…
Reference in New Issue