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