summaryrefslogtreecommitdiff
path: root/builtin/client/chatcommands.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/client/chatcommands.lua')
-rw-r--r--builtin/client/chatcommands.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/builtin/client/chatcommands.lua b/builtin/client/chatcommands.lua
new file mode 100644
index 000000000..b49c222ef
--- /dev/null
+++ b/builtin/client/chatcommands.lua
@@ -0,0 +1,28 @@
+-- Minetest: builtin/client/chatcommands.lua
+
+
+core.register_on_sending_chat_messages(function(message)
+ if not (message:sub(1,1) == "/") then
+ return false
+ end
+
+ core.display_chat_message("issued command: " .. message)
+
+ local cmd, param = string.match(message, "^/([^ ]+) *(.*)")
+ if not param then
+ param = ""
+ end
+
+ local cmd_def = core.registered_chatcommands[cmd]
+
+ if cmd_def then
+ core.set_last_run_mod(cmd_def.mod_origin)
+ local success, message = cmd_def.func(param)
+ if message then
+ core.display_chat_message(message)
+ end
+ return true
+ end
+
+ return false
+end) \ No newline at end of file