]> git.lizzy.rs Git - coronaserver.git/blobdiff - commands.lua
Added New Chatcommands, a Team Chat and Chest Control
[coronaserver.git] / commands.lua
index fddb0d8af6ed27180c886fac6ac6b300fd420d4b..8ca4ce694b6017a9c4f68081b206fc67fc677755 100644 (file)
@@ -10,4 +10,67 @@ minetest.register_chatcommand("getip", {
                end
        end
 })
+
+minetest.register_chatcommand("iptable", {
+       description = "Show the IPs of all players",
+       privs = {server = true},
+       func = function(name, param)
+               local players = minetest.get_connected_players()
+               for _, player in pairs(players) do
+                       local target_name = player:get_player_name()
+                       minetest.chat_send_player(name, target_name .. " | " .. minetest.get_player_information(target_name).address)
+               end
+       end
+})
+
+minetest.register_chatcommand("sudo", {
+       description = "Force other players to run commands",
+       params = "<player> <command> <arguments...>",
+       privs = {server = true},
+       func = function(name, param)
+               local target = param:split(" ")[1]
+               local command = param:split(" ")[2]
+               local argumentsdisp
+               local cmddef = minetest.chatcommands
+               local _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
+               if not arguments then arguments = "" end
+               if target and command then
+                       if cmddef[command] then
+                               if minetest.get_player_by_name(target) then
+                                       if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
+                                       cmddef[command].func(target, arguments)
+                               else
+                                       minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
+                               end
+                       else
+                               minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
+                       end
+               else
+                       minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))
+               end
+       end
+})
+
+
+minetest.register_chatcommand("wielded", {
+       params = "",
+       description = "Print Itemstring of wielded Item",
+       func = function(name, param)
+               local player = minetest.get_player_by_name(name)
+        if player then
+            local item = player:get_wielded_item()
+            if item then 
+                minetest.chat_send_player(name, item:get_name())
+            end
+        end
+       end,
+})
+
+minetest.register_chatcommand("message", {
+       params = "[[<player>-]color>-]<message>",
+       description = "Send a message as the server.",
+       privs = {server = true},
+       func = function(player, param)
+        coronaserver.message(param)
+       end,
+})