Better CTF format compatiblity
parent
98ca33c561
commit
f67056c4a4
9
init.lua
9
init.lua
|
@ -17,7 +17,12 @@ core.register_on_receiving_chat_message(function(line)
|
|||
|
||||
local prefix
|
||||
local chat_line = false
|
||||
local name, message = line:match("^%<(%S+)%> (.*)")
|
||||
|
||||
local name, color_end, message = line:match("^%<(%S+)%>%s*(" .. c_pattern .. ")%s*(.*)")
|
||||
if not message then
|
||||
name, message = line:match("^%<(%S+)%> (.*)")
|
||||
end
|
||||
|
||||
if message then
|
||||
-- To keep the <Name> notation
|
||||
chat_line = true
|
||||
|
@ -71,5 +76,5 @@ core.register_on_receiving_chat_message(function(line)
|
|||
end
|
||||
|
||||
return minetest.display_chat_message(prefix .. (color or "")
|
||||
.. name_wrap .. " " .. minetest.strip_colors(message))
|
||||
.. name_wrap .. (color_end or "") .. " " .. message)
|
||||
end)
|
|
@ -27,10 +27,13 @@ local test_table = {
|
|||
"<singleplayer> buzz baz",
|
||||
"\x1b(c@#abcdef)[Admin] <singleplayer> foo bar\x1b(c@#ffffff)",
|
||||
"\x1b(c@#FF0000)<singleplayer>\x1b(c@#ffffff) not modified",
|
||||
"\x1b(c@#FF4444)<singleplayer> \x1b(c@#ffffff)CTF format"
|
||||
"\x1b(c@#FF4444)<singleplayer> \x1b(c@#ffffff)CTF format",
|
||||
"\x1b(c@#F00)<singleplayer> \x1b(c@#FFF)\x1b(c@#0F0)Somebody\x1b(c@#FFF) once told me"
|
||||
}
|
||||
|
||||
local time = os.clock()
|
||||
for i, v in pairs(test_table) do
|
||||
print("In: " .. v)
|
||||
callback(v)
|
||||
end
|
||||
local end_time = (os.clock() - time) * 1000^2 / #test_table
|
||||
print("==> " .. math.floor(end_time + 0.5) .. " μs per chat message")
|
||||
|
|
Loading…
Reference in New Issue