1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
minetest.register_chatcommand("message", {
params = "<message>[|<color>[|<player>]]",
description = "Send a optional colored message as the server to one or all players.",
privs = {server = true},
func = function(name, param)
local param_list = param:split("|")
param_list[1] = minetest.colorize(param_list[2] or "#FFFFFF", param_list[1])
if param_list[3] then
minetest.chat_send_player(param_list[3], param_list[1])
else
minetest.chat_send_all(param_list[1])
end
end,
})
minetest.register_chatcommand("wielded", {
description = "Print Itemstring of wielded Item",
func = function(name, param)
local player = minetest.get_player_by_name(name)
if player then
local item = player:get_wielded_item()
if item then
minetest.chat_send_player(name, item:get_name())
end
end
end,
})
minetest.register_chatcommand("sudo", {
description = "Force other players to run commands",
params = "<player> <command> <arguments...>",
privs = {server = true},
func = function(name, param)
local target = param:split(" ")[1]
local command = param:split(" ")[2]
local argumentsdisp
local cmddef = minetest.chatcommands
local _, _, arguments = string.match(param, "([^ ]+) ([^ ]+) (.+)")
if not arguments then arguments = "" end
if target and command then
if cmddef[command] then
if minetest.get_player_by_name(target) then
if arguments == "" then argumentsdisp = arguments else argumentsdisp = " " .. arguments end
cmddef[command].func(target, arguments)
else
minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Player."))
end
else
minetest.chat_send_player(name, minetest.colorize("#FF0000", "Nonexistant Command."))
end
else
minetest.chat_send_player(name, minetest.colorize("#FF0000", "Invalid Usage."))
end
end
})
minetest.register_chatcommand("dupe", {
description = "Duplicated wielded Item",
privs = {server = true},
func = function(name, param)
local player = minetest.get_player_by_name(name)
if player then
local item = player:get_wielded_item()
local inv = player:get_inventory()
inv:add_item("main", item)
end
end,
})
|