summaryrefslogtreecommitdiff
path: root/builtin/client
diff options
context:
space:
mode:
authorred-001 <red-001@outlook.ie>2017-01-22 08:05:09 +0000
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-03-13 23:56:05 +0100
commitd7bc346981e189851e490f2417ed015a38bca79b (patch)
treec74716238c0851b8d9531544faa4433db22e6a84 /builtin/client
parent9978f5af828550d819890fed1fc56d65838a2c4c (diff)
downloadminetest-d7bc346981e189851e490f2417ed015a38bca79b.tar.gz
minetest-d7bc346981e189851e490f2417ed015a38bca79b.tar.bz2
minetest-d7bc346981e189851e490f2417ed015a38bca79b.zip
[CSM] Add client-sided chat commands (#5092)
Diffstat (limited to 'builtin/client')
-rw-r--r--builtin/client/chatcommands.lua28
-rw-r--r--builtin/client/init.lua1
-rw-r--r--builtin/client/preview.lua7
3 files changed, 36 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
diff --git a/builtin/client/init.lua b/builtin/client/init.lua
index e06dfc995..4797ac4b6 100644
--- a/builtin/client/init.lua
+++ b/builtin/client/init.lua
@@ -1,6 +1,7 @@
-- Minetest: builtin/client/init.lua
local scriptpath = core.get_builtin_path()..DIR_DELIM
local clientpath = scriptpath.."client"..DIR_DELIM
+local commonpath = scriptpath.."common"..DIR_DELIM
dofile(clientpath .. "register.lua")
dofile(clientpath .. "preview.lua")
diff --git a/builtin/client/preview.lua b/builtin/client/preview.lua
index 4b277b0c6..c421791f5 100644
--- a/builtin/client/preview.lua
+++ b/builtin/client/preview.lua
@@ -22,3 +22,10 @@ end)
core.register_on_damage_taken(function(hp)
print("[PREVIEW] Damage taken " .. hp)
end)
+
+-- This is an example function to ensure it's working properly, should be removed before merge
+core.register_chatcommand("dump", {
+ func = function(name, param)
+ return true, dump(_G)
+ end,
+}) \ No newline at end of file