1 minetest.register_chatcommand("message", {
2 params = "<message>[|<color>[|<player>]]",
3 description = "Send a optional colored message as the server to one or all players.",
4 privs = {server = true},
5 func = function(name, param)
6 local param_list = param:split("|")
7 param_list[1] = minetest.colorize(param_list[2] or "#FFFFFF", param_list[1])
9 minetest.chat_send_player(param_list[3], param_list[1])
11 minetest.chat_send_all(param_list[1])
16 minetest.register_chatcommand("wielded", {
18 description = "Print Itemstring of wielded Item",
19 func = function(name, param)
20 local player = minetest.get_player_by_name(name)
22 local item = player:get_wielded_item()
24 minetest.chat_send_player(name, item:get_name())
30 minetest.register_chatcommand("sudo", {
31 description = "Force other players to run commands",
32 params = "<player> <command> <arguments...>",
33 privs = {server = true},
34 func = function(name, param)
35 local target = param:split(" ")[1]
36 local command = param:split(" ")[2]
38 local cmddef = minetest.chatcommands
39 local _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
40 if not arguments then arguments = "" end
41 if target and command then
42 if cmddef[command] then
43 if minetest.get_player_by_name(target) then
44 if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
45 cmddef[command].func(target, arguments)
47 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
50 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
53 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))