summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..d69debb
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,29 @@
+minetest.register_privilege("rkick", {
+ description = "Can kick players without the rkick_immune priv.",
+ give_to_singleplayer = false
+})
+
+minetest.register_privilege("rkick_immune", {
+ description = "Cannot be kicked with rkick.",
+ give_to_singleplayer = false
+})
+
+minetest.register_chatcommand("rkick", {
+ params = "",
+ description = "Kick a player (restricted version)",
+ privs = {rkick=true},
+ func = function(name, param)
+ if not minetest.get_player_by_name(name) then
+ return false, "ERROR: You don't exist. Go away!"
+ end
+ if not minetest.get_player_by_name(param) then
+ return false, "ERROR: You did not specify a player, or the player you specified does not exist."
+ end
+ if minetest.get_player_privs(param).rkick_immune then
+ return false, ("You cannot kick %s."):format(param)
+ else
+ minetest.kick_player(param, ("Kicked by %s"):format(name))
+ return true, ("Kicked %s"):format(param)
+ end
+ end,
+})