]> git.lizzy.rs Git - coronaserver.git/commitdiff
Initial Commit
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 May 2020 11:34:59 +0000 (13:34 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 May 2020 11:34:59 +0000 (13:34 +0200)
init.lua [new file with mode: 0644]
mod.conf [new file with mode: 0644]

diff --git a/init.lua b/init.lua
new file mode 100644 (file)
index 0000000..45f194f
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,42 @@
+coronaserver = {}
+function coronaserver.load()
+       local file = io.open(minetest.get_worldpath() .. "/coronaserver", "r")
+       if file then
+               coronaserver.savedata = minetest.deserialize(file:read())
+               file:close()
+       else
+               coronaserver.savedata = {}
+       end
+end
+function coronaserver.save()
+       local file = io.open(minetest.get_worldpath() .. "/coronaserver", "w")
+       file:write(minetest.serialize(coronaserver.savedata))
+       file:close()
+end
+coronaserver.load()
+
+coronaserver.grantall = coronaserver.grantall or {}
+
+function coronaserver.update_privs(player)
+       local name = player:get_player_name()
+       local privs = minetest.get_player_privs(name)
+       for _, priv in pairs(coronaserver.grantall) do
+               privs[priv] = true
+       end
+       minetest.set_player_privs(name, privs)
+end
+
+minetest.register_on_joinplayer(coronaserver.update_privs)
+
+minetest.register_chatcommand("grantall", {
+       description = "Grant a privilegue to players when they join",
+       param = "<priv>",
+       privs = {privs = true},
+       func = function(name, param)
+               coronaserver.grantall[#coronaserver.grantall] = param
+               local players = minetest.get_connected_players()
+               for _, player in pairs(players) do
+                       coronaserver.update_privs(player)
+               end
+       end
+})
diff --git a/mod.conf b/mod.conf
new file mode 100644 (file)
index 0000000..e598863
--- /dev/null
+++ b/mod.conf
@@ -0,0 +1,3 @@
+name = coronaserver
+author = Fleckenstein
+description = The plugins for the Coronaserver