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", {
17 description = "Print Itemstring of wielded Item",
18 func = function(name, param)
19 local player = minetest.get_player_by_name(name)
21 local item = player:get_wielded_item()
23 minetest.chat_send_player(name, item:get_name())
29 minetest.register_chatcommand("sudo", {
30 description = "Force other players to run commands",
31 params = "<player> <command> <arguments...>",
32 privs = {server = true},
33 func = function(name, param)
34 local target = param:split(" ")[1]
35 local command = param:split(" ")[2]
37 local cmddef = minetest.chatcommands
38 local _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
39 if not arguments then arguments = "" end
40 if target and command then
41 if cmddef[command] then
42 if minetest.get_player_by_name(target) then
43 if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
44 cmddef[command].func(target, arguments)
46 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
49 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
52 minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))
57 minetest.register_chatcommand("dupe", {
58 description = "Duplicated wielded Item",
59 privs = {server = true},
60 func = function(name, param)
61 local player = minetest.get_player_by_name(name)
63 local item = player:get_wielded_item()
64 local inv = player:get_inventory()
65 inv:add_item("main", item)