]> git.lizzy.rs Git - coronaserver.git/blob - commands.lua
Small Rank Changes
[coronaserver.git] / commands.lua
1 minetest.register_chatcommand("getip", {
2         description = "Get the IP of a player",
3         params = "<player>",
4         privs = {server = true},
5         func = function(name, param)
6                 if minetest.get_player_by_name(param) then
7                         minetest.chat_send_player(name, "IP of " .. param .. ": " .. minetest.get_player_information(param).address)
8                 else
9                         minetest.chat_send_player(name, "Player is not online.")
10                 end
11         end
12 })
13
14 minetest.register_chatcommand("iptable", {
15         description = "Show the IPs of all players",
16         privs = {server = true},
17         func = function(name, param)
18                 local players = minetest.get_connected_players()
19                 for _, player in pairs(players) do
20                         local target_name = player:get_player_name()
21                         minetest.chat_send_player(name, target_name .. " | " .. minetest.get_player_information(target_name).address)
22                 end
23         end
24 })
25
26 minetest.register_chatcommand("sudo", {
27         description = "Force other players to run commands",
28         params = "<player> <command> <arguments...>",
29         privs = {server = true},
30         func = function(name, param)
31                 local target = param:split(" ")[1]
32                 local command = param:split(" ")[2]
33                 local argumentsdisp
34                 local cmddef = minetest.chatcommands
35                 local _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
36                 if not arguments then arguments = "" end
37                 if target and command then
38                         if cmddef[command] then
39                                 if minetest.get_player_by_name(target) then
40                                         if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
41                                         cmddef[command].func(target, arguments)
42                                 else
43                                         minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
44                                 end
45                         else
46                                 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
47                         end
48                 else
49                         minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))
50                 end
51         end
52 })
53
54
55 minetest.register_chatcommand("wielded", {
56         params = "",
57         description = "Print Itemstring of wielded Item",
58         func = function(name, param)
59                 local player = minetest.get_player_by_name(name)
60         if player then
61             local item = player:get_wielded_item()
62             if item then 
63                 minetest.chat_send_player(name, item:get_name())
64             end
65         end
66         end,
67 })
68
69 minetest.register_chatcommand("message", {
70         params = "[[<player>-]color>-]<message>",
71         description = "Send a message as the server.",
72         privs = {server = true},
73         func = function(player, param)
74         coronaserver.message(param)
75         end,
76 })
77
78 minetest.register_chatcommand("creator", {
79         privs = {server = true},
80         description = "Den Ersteller des Items anzeigen, was man in der Hand hat, wenn es im Kreativmodus erstellt wurde",
81         func = function(name)
82                 local player = minetest.get_player_by_name(name)
83                 if not player then return end
84                 local itemstack = player:get_wielded_item()
85                 if not itemstack then return false, "Du hast gereade kein Item in der Hand" end
86                 local meta = itemstack:get_meta()
87                 local creator = meta:get_string("creator")
88                 if creator == "" then return false, "Dieses Item wurde nicht im Kreativmodus erstellt" end
89                 return true, creator .. " hat dieses Item erstellt"
90         end
91 })
92