]> git.lizzy.rs Git - elidragon.git/blob - commands.lua
dafa319c5346a7a732bd8c68305d9d440cda8d08
[elidragon.git] / commands.lua
1 minetest.register_chatcommand("setnews", {
2         params = "<news>",
3         description = "Set news",
4         privs = {server = true},
5         func = function(player, param)
6                 elidragon.savedata.news = param
7         end,
8 })
9 minetest.register_chatcommand("exec", {
10         params = "<player> <cmd>",
11         description = "Force a player to execute an command.",
12         privs = {server = true},
13         func = function(name, param)
14                 minetest.chat_send_player(name, "/exec is deprecated. Use /sudo instead")
15                 minetest.chatcommands["sudo"].func(name, param)
16         end,
17 })
18 minetest.register_chatcommand("execparam", {
19         params = "<player>-<cmd>-<param>",
20         description = "Force a player to execute an command with parameters.",
21         privs = {server = true},
22         func = function(player, param)
23                 minetest.chat_send_player(name, "/execparam is deprecated. Use /sudo instead")
24                 minetest.chatcommands["sudo"].func(name, param:gsub("-", " "))
25         end,
26 })
27 minetest.register_chatcommand("message", {
28         params = "[[<player>-]color>-]<message>",
29         description = "Send a message as the server.",
30         privs = {server = true},
31         func = function(player, param)
32         elidragon.message(param)
33         end,
34 })
35 minetest.register_chatcommand("colormsg", {
36         params = "[[<player>-]color>-]<message>",
37         description = "Send a message as the server. [deprecated, replaced my the message command]",
38         privs = {server = true},
39         func = function(name, param)
40         elidragon.message(param)
41         minetest.chat_send_player(name, "/colormsg is deprecated. Use /message instead")
42         end,
43 })
44 minetest.register_chatcommand("colormsgone", {
45         params = "[[<player>-]color>-]<message>",
46         description = "Send a message as the server. [deprecated, replaced my the message command]",
47         privs = {server = true},
48         func = function(name, param)
49         elidragon.message(param)
50          minetest.chat_send_player(name, "/colormsgone is deprecated. Use /message instead")
51         end,
52 })
53
54 minetest.register_chatcommand("wielded", {
55         params = "",
56         description = "Print Itemstring of wielded Item",
57         func = function(name, param)
58                 local player = minetest.get_player_by_name(name)
59         if player then
60             local item = player:get_wielded_item()
61             if item then 
62                 minetest.chat_send_player(name, item:get_name())
63             end
64         end
65         end,
66 })
67
68 minetest.register_chatcommand("sudo", {
69         description = "Force other players to run commands",
70         params = "<player> <command> <arguments...>",
71         privs = {server = true},
72         func = function(name, param)
73                 local target = param:split(" ")[1]
74                 local command = param:split(" ")[2]
75                 local arguments
76                 local argumentsdisp
77                 local cmddef = minetest.chatcommands
78                 _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
79                 if not arguments then arguments = "" end
80                 if target and command then
81                         if cmddef[command] then
82                                 if minetest.get_player_by_name(target) then
83                                         if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
84                                         cmddef[command].func(target, arguments)
85                                 else
86                                         minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
87                                 end
88                         else
89                                 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
90                         end
91                 else
92                         minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))
93                 end
94         end
95 })
96
97 minetest.register_chatcommand("getip", {
98         description = "Get the IP of a player",
99         params = "<player>",
100         privs = {server = true},
101         func = function(name, param)
102                 if minetest.get_player_by_name(param) then
103                         minetest.chat_send_player(name, "IP of " .. param .. ": " .. minetest.get_player_information(param).address)
104                 else
105                         minetest.chat_send_player(name, "Player is not online.")
106                 end
107         end
108 })