aboutsummaryrefslogtreecommitdiff
path: root/ownership.lua
diff options
context:
space:
mode:
authorCalinou <calinou9999spam@gmail.com>2013-11-24 10:32:32 -0800
committerCalinou <calinou9999spam@gmail.com>2013-11-24 10:32:32 -0800
commit92e4dc8e29954e1f07776a96eb6cb69b01dd6d5b (patch)
treec4be707e88adb35d25a794f71ca79b245fd527e0 /ownership.lua
parentd75c46b468c71013f93ac2defaee5625b23e5574 (diff)
parent4b4e10ff1d4f1bde96c47331738e4af27bec6142 (diff)
downloadmoreblocks-92e4dc8e29954e1f07776a96eb6cb69b01dd6d5b.tar.gz
moreblocks-92e4dc8e29954e1f07776a96eb6cb69b01dd6d5b.tar.bz2
moreblocks-92e4dc8e29954e1f07776a96eb6cb69b01dd6d5b.zip
Merge pull request #5 from VanessaE/master
Rewrite slightly to use the new 6d facedir prediction code in builtin
Diffstat (limited to 'ownership.lua')
-rw-r--r--ownership.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/ownership.lua b/ownership.lua
new file mode 100644
index 0000000..9cd4cb3
--- /dev/null
+++ b/ownership.lua
@@ -0,0 +1,35 @@
+
+local S = moreblocks.gettext
+
+function moreblocks.node_is_owned(pos, placer)
+ local ownername = false
+ if type(IsPlayerNodeOwner) == "function" then -- node_ownership mod
+ if HasOwner(pos, placer) then -- returns true if the node is owned
+ if not IsPlayerNodeOwner(pos, placer:get_player_name()) then
+ if type(getLastOwner) == "function" then -- ...is an old version
+ ownername = getLastOwner(pos)
+ elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version
+ ownername = GetNodeOwnerName(pos)
+ else
+ ownername = S("someone")
+ end
+ end
+ end
+
+ elseif type(isprotect)=="function" then -- glomie's protection mod
+ 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
+ minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
+ return true
+ else
+ return false
+ end
+end