diff options
Diffstat (limited to 'src/script/lua_api/l_client.cpp')
-rw-r--r-- | src/script/lua_api/l_client.cpp | 11 |
1 files changed, 11 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); } |