aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api
diff options
context:
space:
mode:
authorred-001 <red-001@outlook.ie>2017-06-07 08:09:06 +0100
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-06-07 09:09:06 +0200
commitc91a8c7061c83a33cca929859ea811afb985ac0a (patch)
tree28d90cc8f57d35eedb2d25ffd6456ffddb80adf1 /src/script/lua_api
parent6c558744179b52607d552d28bf6cc6a4e49a2a14 (diff)
downloadminetest-c91a8c7061c83a33cca929859ea811afb985ac0a.tar.gz
minetest-c91a8c7061c83a33cca929859ea811afb985ac0a.tar.bz2
minetest-c91a8c7061c83a33cca929859ea811afb985ac0a.zip
[CSM] Add function to get player privileges (#5933)
* [CSM] Add function to get player privileges + move related help functions to common * Added @Zeno- const
Diffstat (limited to 'src/script/lua_api')
-rw-r--r--src/script/lua_api/l_client.cpp11
-rw-r--r--src/script/lua_api/l_client.h4
2 files changed, 15 insertions, 0 deletions
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp
index 3c2955bcd..eab7bdfae 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -329,6 +329,16 @@ int ModApiClient::l_take_screenshot(lua_State *L)
return 0;
}
+int ModApiClient::l_get_privilege_list(lua_State *L)
+{
+ const Client *client = getClient(L);
+ lua_newtable(L);
+ for (const std::string &priv : client->getPrivilegeList()) {
+ lua_pushboolean(L, true);
+ lua_setfield(L, -2, priv.c_str());
+ }
+ return 1;
+}
void ModApiClient::Initialize(lua_State *L, int top)
{
API_FCT(get_current_modname);
@@ -353,4 +363,5 @@ void ModApiClient::Initialize(lua_State *L, int top)
API_FCT(get_item_def);
API_FCT(get_node_def);
API_FCT(take_screenshot);
+ API_FCT(get_privilege_list);
}
diff --git a/src/script/lua_api/l_client.h b/src/script/lua_api/l_client.h
index fe5780fb1..2f0c2e3f8 100644
--- a/src/script/lua_api/l_client.h
+++ b/src/script/lua_api/l_client.h
@@ -89,8 +89,12 @@ private:
// get_node_def(nodename)
static int l_get_node_def(lua_State *L);
+ // take_screenshot()
static int l_take_screenshot(lua_State *L);
+ // get_privilege_list()
+ static int l_get_privilege_list(lua_State *L);
+
public:
static void Initialize(lua_State *L, int top);
};