-- Code by Mirko K. (modified by Temperest, Wulfsdad and kilbith) (License: GPL).
minetest.register_on_punchnode(function(pos, oldnode, digger)
if oldnode.name == "xdecor:rope" then
- rope.remove(pos, oldnode, digger, "xdecor:rope")
+ rope:remove(pos, oldnode, digger, "xdecor:rope")
end
end)
function rope.place(itemstack, placer, pointed_thing)
if pointed_thing.type == "node" then
- local under = pointed_thing.under
- local above = pointed_thing.above
- local pos = above
+ local pos = pointed_thing.above
local oldnode = minetest.get_node(pos)
local stackname = itemstack:get_name()
+ if minetest.is_protected(pos, placer:get_player_name()) then
+ return itemstack
+ end
while oldnode.name == "air" and not itemstack:is_empty() do
local newnode = {name = stackname, param1 = 0}
return itemstack
end
-function rope.remove(pos, oldnode, digger, rope_name)
+function rope:remove(pos, oldnode, digger, rope_name)
local num = 0
local below = {x=pos.x, y=pos.y, z=pos.z}
local digger_inv = digger:get_inventory()
drawtype = "plantlike",
walkable = false,
climbable = true,
- groups = {dig_immediate=3, flammable=3},
+ groups = {snappy=3, flammable=3},
tiles = {"xdecor_rope.png"},
inventory_image = "xdecor_rope_inv.png",
wield_image = "xdecor_rope_inv.png",
- selection_box = {
- type = "fixed",
- fixed = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
- },
+ selection_box = xdecor.pixelbox(8, {{3, 0, 3, 2, 8, 2}}),
on_place = rope.place
})