diff options
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 29 |
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, +}) |