aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Myers <temyers240@gmail.com>2019-09-18 17:37:56 -0500
committersfan5 <sfan5@live.de>2019-09-19 00:37:56 +0200
commitc413eeb0260e143ada3f2c1915bda07602e06fa1 (patch)
tree6acca75a0a2a4b301789655ce23545a7733fb37c
parent6a7f5c09852e06b2204cda67583de84e895fb78a (diff)
downloadminetest-c413eeb0260e143ada3f2c1915bda07602e06fa1.tar.gz
minetest-c413eeb0260e143ada3f2c1915bda07602e06fa1.tar.bz2
minetest-c413eeb0260e143ada3f2c1915bda07602e06fa1.zip
Also print help commands to chat for server terminal (#8869)
-rw-r--r--builtin/common/chatcommands.lua7
-rw-r--r--builtin/common/information_formspecs.lua14
2 files changed, 18 insertions, 3 deletions
diff --git a/builtin/common/chatcommands.lua b/builtin/common/chatcommands.lua
index 71204657c..52edda659 100644
--- a/builtin/common/chatcommands.lua
+++ b/builtin/common/chatcommands.lua
@@ -77,6 +77,13 @@ local function do_help_cmd(name, param)
end
table.sort(cmds)
return true, gettext("Available commands:").."\n"..table.concat(cmds, "\n")
+ elseif INIT == "game" and param == "privs" then
+ local privs = {}
+ for priv, def in pairs(core.registered_privileges) do
+ privs[#privs + 1] = priv .. ": " .. def.description
+ end
+ table.sort(privs)
+ return true, "Available privileges:\n"..table.concat(privs, "\n")
else
local cmd = param
local def = core.registered_chatcommands[cmd]
diff --git a/builtin/common/information_formspecs.lua b/builtin/common/information_formspecs.lua
index 10fe37b8f..b977e2656 100644
--- a/builtin/common/information_formspecs.lua
+++ b/builtin/common/information_formspecs.lua
@@ -81,7 +81,7 @@ local function build_chatcommands_formspec(name, sel, copy)
end
--- PRIVILEGES FORMSPEC
+-- PRIVILEGES FORMSPEC
local function build_privs_formspec(name)
local privs = {}
@@ -128,15 +128,23 @@ local help_command = core.registered_chatcommands["help"]
local old_help_func = help_command.func
help_command.func = function(name, param)
+ local admin = core.settings:get("name")
+
+ -- If the admin ran help, put the output in the chat buffer as well to
+ -- work with the server terminal
if param == "privs" then
core.show_formspec(name, "__builtin:help_privs",
build_privs_formspec(name))
- return
+ if name ~= admin then
+ return
+ end
end
if param == "" or param == "all" then
core.show_formspec(name, "__builtin:help_cmds",
build_chatcommands_formspec(name))
- return
+ if name ~= admin then
+ return
+ end
end
return old_help_func(name, param)