First commit
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 16 Aug 2016 01:23:59 +0000 (18:23 -0700)
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 16 Aug 2016 01:23:59 +0000 (18:23 -0700)
depends.txt [new file with mode: 0644]
init.lua [new file with mode: 0644]

diff --git a/depends.txt b/depends.txt
new file mode 100644 (file)
index 0000000..a18cd91
--- /dev/null
@@ -0,0 +1 @@
+areas
diff --git a/init.lua b/init.lua
new file mode 100644 (file)
index 0000000..3371dfc
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,27 @@
+-- This small mod transitions the protector_redo mod to the areas.
+local r = 7
+minetest.register_abm({
+      nodenames = {"protector:protect", "protector:protect2", "protector:protect_sell"},
+      interval = 8,
+      chance = 1,
+      catch_up = false,
+      action = function(pos, node)
+        local meta = minetest.get_meta(pos)
+        local name = meta:get_string("owner")
+        local pos1 = {x = pos.x - r, y = pos.y - r, z = pos.z - r}
+        local pos2 = {x = pos.x + r, y = pos.y + r, z = pos.z + r}
+        if not (pos1 and pos2) then
+           return false, "You need to select an area first."
+        end
+        
+        minetest.log("action", "/protect invoked, owner="..name..
+                        " AreaName=".."Converted from protectors"..
+                        " StartPos="..minetest.pos_to_string(pos1)..
+                        " EndPos="  ..minetest.pos_to_string(pos2))
+        local id = areas:add(name, "Converted from Protectors", pos1, pos2, nil)
+        areas:save()
+        minetest.chat_send_all("Area protected. ID: "..id)
+        minetest.set_node(pos, {name = "markers:stone"})
+        return true
+      end
+})