From 618aa5f167290a4eeffebcaee227ae3453ae8945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Mart=C3=ADnez?= Date: Sun, 19 May 2013 04:17:32 -0300 Subject: [PATCH 1/3] Placing fences now takes into account protection systems --- signs_lib.lua | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/signs_lib.lua b/signs_lib.lua index e139f0d6..2ebeeadf 100644 --- a/signs_lib.lua +++ b/signs_lib.lua @@ -115,11 +115,20 @@ minetest.register_node(":default:sign_wall", { groups = sign_groups, on_place = function(itemstack, placer, pointed_thing) - local def = minetest.registered_nodes[minetest.env:get_node(pointed_thing.above).name] - if homedecor_node_is_owned(pointed_thing.above, placer) - or (not def.buildable_to) then - return itemstack - end + local name + name = minetest.env:get_node(pointed_thing.under).name + if fences_with_sign[name] then + if homedecor_node_is_owned(pointed_thing.under, placer) then + return itemstack + end + else + name = minetest.env:get_node(pointed_thing.above).name + local def = minetest.registered_nodes[name] + if homedecor_node_is_owned(pointed_thing.above, placer) + or (not def.buildable_to) then + return itemstack + end + end local node=minetest.env:get_node(pointed_thing.under) From 493abe720d8e84290d7e3707669ebed529334a5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Mart=C3=ADnez?= Date: Mon, 20 May 2013 15:15:41 -0300 Subject: [PATCH 2/3] Add support for Zeg9's protector mod --- init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init.lua b/init.lua index 685eff80..4605cb37 100644 --- a/init.lua +++ b/init.lua @@ -49,6 +49,10 @@ function homedecor_node_is_owned(pos, placer) if not isprotect(5, pos, placer) then ownername = S("someone") end + elseif type(protector)=="table" and type(protector.can_dig)=="function" then -- Zeg9's protection mod + if not protector.can_dig(5, pos, placer) then + ownername = S("someone") + end end if ownername ~= false then From 581b63a6b3e43d0f0b3fabe70aed71d17786bf46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Mart=C3=ADnez?= Date: Mon, 20 May 2013 17:51:32 -0300 Subject: [PATCH 3/3] signs can now only be edited by owner --- signs_lib.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/signs_lib.lua b/signs_lib.lua index 2ebeeadf..96296a65 100644 --- a/signs_lib.lua +++ b/signs_lib.lua @@ -441,6 +441,7 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname) minetest.pos_to_string(pos) )) end + if not homedecor_node_is_owned(pos, sender) then return end homedecor_update_sign(pos, fields) end def_sign.on_punch = function(pos, node, puncher, ...)