diff options
author | ANAND <ClobberXD@gmail.com> | 2019-08-08 21:34:46 +0530 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-08-08 17:04:46 +0100 |
commit | d1c27c7e8037e9f438741ee5f7d3b6bda22d22a0 (patch) | |
tree | fa04794d876ec4c912add9fcca36eff4a18df016 /builtin/game | |
parent | cc610c74a742511e04dce91b24d09c860ca7fa1b (diff) | |
download | minetest-d1c27c7e8037e9f438741ee5f7d3b6bda22d22a0.tar.gz minetest-d1c27c7e8037e9f438741ee5f7d3b6bda22d22a0.tar.bz2 minetest-d1c27c7e8037e9f438741ee5f7d3b6bda22d22a0.zip |
Allow customizing chat message format (#8529)
Diffstat (limited to 'builtin/game')
-rw-r--r-- | builtin/game/chat.lua (renamed from builtin/game/chatcommands.lua) | 27 | ||||
-rw-r--r-- | builtin/game/init.lua | 40 |
2 files changed, 46 insertions, 21 deletions
diff --git a/builtin/game/chatcommands.lua b/builtin/game/chat.lua index b2a49863e..84559b064 100644 --- a/builtin/game/chatcommands.lua +++ b/builtin/game/chat.lua @@ -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 diff --git a/builtin/game/init.lua b/builtin/game/init.lua index 04f0732e5..271e49be3 100644 --- a/builtin/game/init.lua +++ b/builtin/game/init.lua @@ -1,37 +1,37 @@ local scriptpath = core.get_builtin_path() -local commonpath = scriptpath.."common"..DIR_DELIM -local gamepath = scriptpath.."game"..DIR_DELIM +local commonpath = scriptpath .. "common" .. DIR_DELIM +local gamepath = scriptpath .. "game".. DIR_DELIM -- Shared between builtin files, but -- not exposed to outer context local builtin_shared = {} -dofile(commonpath.."vector.lua") +dofile(commonpath .. "vector.lua") -dofile(gamepath.."constants.lua") -assert(loadfile(gamepath.."item.lua"))(builtin_shared) -dofile(gamepath.."register.lua") +dofile(gamepath .. "constants.lua") +assert(loadfile(gamepath .. "item.lua"))(builtin_shared) +dofile(gamepath .. "register.lua") 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 dofile(commonpath .. "after.lua") -dofile(gamepath.."item_entity.lua") -dofile(gamepath.."deprecated.lua") -dofile(gamepath.."misc.lua") -dofile(gamepath.."privileges.lua") -dofile(gamepath.."auth.lua") +dofile(gamepath .. "item_entity.lua") +dofile(gamepath .. "deprecated.lua") +dofile(gamepath .. "misc.lua") +dofile(gamepath .. "privileges.lua") +dofile(gamepath .. "auth.lua") dofile(commonpath .. "chatcommands.lua") -dofile(gamepath.."chatcommands.lua") +dofile(gamepath .. "chat.lua") dofile(commonpath .. "information_formspecs.lua") -dofile(gamepath.."static_spawn.lua") -dofile(gamepath.."detached_inventory.lua") -assert(loadfile(gamepath.."falling.lua"))(builtin_shared) -dofile(gamepath.."features.lua") -dofile(gamepath.."voxelarea.lua") -dofile(gamepath.."forceloading.lua") -dofile(gamepath.."statbars.lua") +dofile(gamepath .. "static_spawn.lua") +dofile(gamepath .. "detached_inventory.lua") +assert(loadfile(gamepath .. "falling.lua"))(builtin_shared) +dofile(gamepath .. "features.lua") +dofile(gamepath .. "voxelarea.lua") +dofile(gamepath .. "forceloading.lua") +dofile(gamepath .. "statbars.lua") profiler = nil |