summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTenPlus1 <kinsellaja@yahoo.com>2015-11-13 12:10:52 +0000
committerTenPlus1 <kinsellaja@yahoo.com>2015-11-13 12:10:52 +0000
commit9387e6f0b7a61f21d525d0dc086f69c600aa4fab (patch)
treef62656f7ec2e471290aa08acf65e372f3977503d
parentfdfec1fd4a6fcb98cbef3b33850082ca5500857e (diff)
added delprot command to remove protectors in bulk from banned/old players
-rw-r--r--README.md3
-rw-r--r--admin.lua59
-rw-r--r--init.lua1
3 files changed, 62 insertions, 1 deletions
diff --git a/README.md b/README.md
index b14b886..3c90a13 100644
--- a/README.md
+++ b/README.md
@@ -28,4 +28,5 @@ Released under WTFPL
1.3 - Moved protector on_place into node itself, protector zone display changed
from 10 to 5 seconds, general code tidy
1.4 - Changed protector recipes to give single item instead of 4, added + button
- to interface, tweaked and tidied code \ No newline at end of file
+ to interface, tweaked and tidied code, added admin command /delprot to remove
+ protectors in bulk from banned/old players \ No newline at end of file
diff --git a/admin.lua b/admin.lua
new file mode 100644
index 0000000..063d5ed
--- /dev/null
+++ b/admin.lua
@@ -0,0 +1,59 @@
+
+protector.removal_names = ""
+
+minetest.register_chatcommand("delprot", {
+ params = "",
+ description = "Remove Protectors near players with names provided (separate names with spaces)",
+ privs = {server = true},
+ func = function(name, param)
+
+ if not param or param == "" then
+
+ minetest.chat_send_player(name,
+ "Protector Names to remove: "
+ .. protector.removal_names)
+
+ return
+ end
+
+ if param == "-" then
+ minetest.chat_send_player(name,
+ "Name List Reset")
+
+ protector.removal_names = ""
+
+ return
+ end
+
+ protector.removal_names = param
+
+ end,
+})
+
+minetest.register_abm({
+ nodenames = {"protector:protect", "protector:protect2"},
+ interval = 8,
+ chance = 1,
+ catch_up = false,
+ action = function(pos, node)
+
+ if protector.removal_names == "" then
+ return
+ end
+
+ local meta = minetest.get_meta(pos)
+ local owner = meta:get_string("owner")
+ --local members = meta:get_string("members")
+
+ local names = protector.removal_names:split(" ")
+
+ for _, n in ipairs(names) do
+
+ if n == owner then
+ minetest.set_node(pos, {name = "air"})
+ end
+
+ end
+
+ end
+}) \ No newline at end of file
diff --git a/init.lua b/init.lua
index 5426ab0..bffe6d8 100644
--- a/init.lua
+++ b/init.lua
@@ -499,5 +499,6 @@ minetest.register_node("protector:display_node", {
dofile(minetest.get_modpath("protector") .. "/doors_chest.lua")
dofile(minetest.get_modpath("protector") .. "/pvp.lua")
+dofile(minetest.get_modpath("protector") .. "/admin.lua")
print ("[MOD] Protector Redo loaded") \ No newline at end of file