1 coronaserver.savedata.grantall = coronaserver.savedata.grantall or {}
2 coronaserver.savedata.revokeall = coronaserver.savedata.revokeall or {}
4 function coronaserver.update_privs(player)
5 local name = player:get_player_name()
6 local privs = minetest.get_player_privs(name)
7 for _, priv in pairs(coronaserver.savedata.grantall) do
10 for _, priv in pairs(coronaserver.savedata.revokeall) do
13 minetest.set_player_privs(name, privs)
16 function coronaserver.update_privs_all()
17 local players = minetest.get_connected_players()
18 for _, player in pairs(players) do
19 coronaserver.update_privs(player)
23 minetest.register_on_joinplayer(coronaserver.update_privs)
25 minetest.register_chatcommand("grantall", {
26 description = "Grant a privilegue to players when they join",
28 privs = {privs = true},
29 func = function(name, param)
30 table.insert(coronaserver.savedata.grantall, param)
31 coronaserver.update_privs_all()
36 minetest.register_chatcommand("revokeall", {
37 description = "Revoke a privilegue from players when they join",
39 privs = {privs = true},
40 func = function(name, param)
41 table.insert(coronaserver.savedata.revokeall, param)
42 coronaserver.update_privs_all()
48 minetest.register_chatcommand("remove_from_allprivs", {
49 description = "Remove a priv from /grantall or /revokeall",
51 privs = {privs = true},
52 func = function(name, param)
53 local function rmpriv(tab)
54 for i, priv in pairs(tab) do
61 rmpriv(coronaserver.savedata.revokeall)
62 rmpriv(coronaserver.savedata.grantall)
67 minetest.register_chatcommand("show_allprivs", {
68 description = "Show list of /grantall and /revokall ",
70 privs = {privs = true},
71 func = function(name, param)
72 minetest.chat_send_player(name, "/grantall: " .. table.concat(coronaserver.savedata.grantall, ", "))
73 minetest.chat_send_player(name, "/revokeall: " .. table.concat(coronaserver.savedata.revokeall, ", "))