diff options
author | cheapie <no-email-for-you@example.com> | 2014-07-30 00:19:06 -0500 |
---|---|---|
committer | cheapie <no-email-for-you@example.com> | 2014-07-30 00:19:06 -0500 |
commit | cbf2cfa5a69493ddc26059dfec4e80f690c11e43 (patch) | |
tree | 444c9367e1d43201245cddef5eb7e6020e4a7eaa /init.lua | |
download | rkick-master.tar rkick-master.tar.gz rkick-master.tar.bz2 rkick-master.tar.xz rkick-master.zip |
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, +}) |