summaryrefslogtreecommitdiff
path: root/areas/interact.lua
diff options
context:
space:
mode:
Diffstat (limited to 'areas/interact.lua')
-rw-r--r--areas/interact.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/areas/interact.lua b/areas/interact.lua
new file mode 100644
index 0000000..2e54800
--- /dev/null
+++ b/areas/interact.lua
@@ -0,0 +1,19 @@
+
+local old_is_protected = minetest.is_protected
+function minetest.is_protected(pos, name)
+ if not areas:canInteract(pos, name) then
+ return true
+ end
+ return old_is_protected(pos, name)
+end
+
+minetest.register_on_protection_violation(function(pos, name)
+ if not areas:canInteract(pos, name) then
+ local owners = areas:getNodeOwners(pos)
+ minetest.chat_send_player(name,
+ ("%s is protected by %s."):format(
+ minetest.pos_to_string(pos),
+ table.concat(owners, ", ")))
+ end
+end)
+