Allow customizing chat message format (#8529)
This commit is contained in:
parent
d669effb5a
commit
6002b4e6e7
|
@ -1,4 +1,29 @@
|
||||||
-- Minetest: builtin/game/chatcommands.lua
|
-- Minetest: builtin/game/chat.lua
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Chat message formatter
|
||||||
|
--
|
||||||
|
|
||||||
|
-- Implemented in Lua to allow redefinition
|
||||||
|
function core.format_chat_message(name, message)
|
||||||
|
local str = core.settings:get("chat_message_format")
|
||||||
|
local error_str = "Invalid chat message format - missing %s"
|
||||||
|
local i
|
||||||
|
|
||||||
|
str, i = str:gsub("@name", name, 1)
|
||||||
|
if i == 0 then
|
||||||
|
error(error_str:format("@name"), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
str, i = str:gsub("@message", message, 1)
|
||||||
|
if i == 0 then
|
||||||
|
error(error_str:format("@message"), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
str = str:gsub("@timestamp", os.date("%H:%M:%S", os.time()), 1)
|
||||||
|
|
||||||
|
return str
|
||||||
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Chat command handler
|
-- Chat command handler
|
|
@ -1,37 +1,37 @@
|
||||||
|
|
||||||
local scriptpath = core.get_builtin_path()
|
local scriptpath = core.get_builtin_path()
|
||||||
local commonpath = scriptpath.."common"..DIR_DELIM
|
local commonpath = scriptpath .. "common" .. DIR_DELIM
|
||||||
local gamepath = scriptpath.."game"..DIR_DELIM
|
local gamepath = scriptpath .. "game".. DIR_DELIM
|
||||||
|
|
||||||
-- Shared between builtin files, but
|
-- Shared between builtin files, but
|
||||||
-- not exposed to outer context
|
-- not exposed to outer context
|
||||||
local builtin_shared = {}
|
local builtin_shared = {}
|
||||||
|
|
||||||
dofile(commonpath.."vector.lua")
|
dofile(commonpath .. "vector.lua")
|
||||||
|
|
||||||
dofile(gamepath.."constants.lua")
|
dofile(gamepath .. "constants.lua")
|
||||||
assert(loadfile(gamepath.."item.lua"))(builtin_shared)
|
assert(loadfile(gamepath .. "item.lua"))(builtin_shared)
|
||||||
dofile(gamepath.."register.lua")
|
dofile(gamepath .. "register.lua")
|
||||||
|
|
||||||
if core.settings:get_bool("profiler.load") then
|
if core.settings:get_bool("profiler.load") then
|
||||||
profiler = dofile(scriptpath.."profiler"..DIR_DELIM.."init.lua")
|
profiler = dofile(scriptpath .. "profiler" .. DIR_DELIM .. "init.lua")
|
||||||
end
|
end
|
||||||
|
|
||||||
dofile(commonpath .. "after.lua")
|
dofile(commonpath .. "after.lua")
|
||||||
dofile(gamepath.."item_entity.lua")
|
dofile(gamepath .. "item_entity.lua")
|
||||||
dofile(gamepath.."deprecated.lua")
|
dofile(gamepath .. "deprecated.lua")
|
||||||
dofile(gamepath.."misc.lua")
|
dofile(gamepath .. "misc.lua")
|
||||||
dofile(gamepath.."privileges.lua")
|
dofile(gamepath .. "privileges.lua")
|
||||||
dofile(gamepath.."auth.lua")
|
dofile(gamepath .. "auth.lua")
|
||||||
dofile(commonpath .. "chatcommands.lua")
|
dofile(commonpath .. "chatcommands.lua")
|
||||||
dofile(gamepath.."chatcommands.lua")
|
dofile(gamepath .. "chat.lua")
|
||||||
dofile(commonpath .. "information_formspecs.lua")
|
dofile(commonpath .. "information_formspecs.lua")
|
||||||
dofile(gamepath.."static_spawn.lua")
|
dofile(gamepath .. "static_spawn.lua")
|
||||||
dofile(gamepath.."detached_inventory.lua")
|
dofile(gamepath .. "detached_inventory.lua")
|
||||||
assert(loadfile(gamepath.."falling.lua"))(builtin_shared)
|
assert(loadfile(gamepath .. "falling.lua"))(builtin_shared)
|
||||||
dofile(gamepath.."features.lua")
|
dofile(gamepath .. "features.lua")
|
||||||
dofile(gamepath.."voxelarea.lua")
|
dofile(gamepath .. "voxelarea.lua")
|
||||||
dofile(gamepath.."forceloading.lua")
|
dofile(gamepath .. "forceloading.lua")
|
||||||
dofile(gamepath.."statbars.lua")
|
dofile(gamepath .. "statbars.lua")
|
||||||
|
|
||||||
profiler = nil
|
profiler = nil
|
||||||
|
|
|
@ -1058,6 +1058,10 @@ disable_anticheat (Disable anticheat) bool false
|
||||||
# This option is only read when server starts.
|
# This option is only read when server starts.
|
||||||
enable_rollback_recording (Rollback recording) bool false
|
enable_rollback_recording (Rollback recording) bool false
|
||||||
|
|
||||||
|
# Format of player chat messages. The following strings are valid placeholders:
|
||||||
|
# @name, @message, @timestamp (optional)
|
||||||
|
chat_message_format (Chat message format) string <@name> @message
|
||||||
|
|
||||||
# A message to be displayed to all clients when the server shuts down.
|
# A message to be displayed to all clients when the server shuts down.
|
||||||
kick_msg_shutdown (Shutdown message) string Server shutting down.
|
kick_msg_shutdown (Shutdown message) string Server shutting down.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue