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()
35 minetest.register_chatcommand("revokeall", {
36 description = "Revoke a privilegue from players when they join",
38 privs = {privs = true},
39 func = function(name, param)
40 table.insert(coronaserver.savedata.revokeall, param)
41 coronaserver.update_privs_all()
46 minetest.register_chatcommand("remove_from_allprivs", {
47 description = "Remove a priv from /grantall or /revokeall",
49 privs = {privs = true},
50 func = function(name, param)
51 local function rmpriv(tab)
52 for i, priv in pairs(tab) do
59 rmpriv(coronaserver.savedata.revokeall)
60 rmpriv(coronaserver.savedata.grantall)
64 minetest.register_chatcommand("show_allprivs", {
65 description = "Show list of /grantall and /revokall ",
67 privs = {privs = true},
68 func = function(name, param)
69 minetest.chat_send_player(name, "/grantall: " .. table.concat(coronaserver.savedata.grantall, ", "))
70 minetest.chat_send_player(name, "/revokeall: " .. table.concat(coronaserver.savedata.revokeall, ", "))