]> git.lizzy.rs Git - xdecor.git/blobdiff - rope.lua
Mailbox: minor code cleaning
[xdecor.git] / rope.lua
index f0fa5f8c9ff3675ae1dba6b3e9f501e851a935a2..3ef95ab6e414f9128d330bfe3d394ecf561aadd1 100644 (file)
--- a/rope.lua
+++ b/rope.lua
@@ -3,7 +3,7 @@ local rope = {}
 -- 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)
 
@@ -14,6 +14,7 @@ function rope.place(itemstack, placer, pointed_thing)
                local pos = above
                local oldnode = minetest.get_node(pos)
                local stackname = itemstack:get_name()
+               if minetest.is_protected(pos, placer:get_player_name()) then return end
 
                while oldnode.name == "air" and not itemstack:is_empty() do
                        local newnode = {name = stackname, param1 = 0}
@@ -26,7 +27,7 @@ function rope.place(itemstack, placer, pointed_thing)
        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()
@@ -50,9 +51,6 @@ xdecor.register("rope", {
        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
 })