mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +00:00
[CSM] Add function to get player privileges (#5933)
* [CSM] Add function to get player privileges + move related help functions to common * Added @Zeno- const
This commit is contained in:
parent
6c55874417
commit
c91a8c7061
7 changed files with 56 additions and 25 deletions
|
@ -416,6 +416,9 @@ public:
|
|||
bool checkPrivilege(const std::string &priv) const
|
||||
{ return (m_privileges.count(priv) != 0); }
|
||||
|
||||
const std::unordered_set<std::string> &getPrivilegeList() const
|
||||
{ return m_privileges; }
|
||||
|
||||
bool getChatMessage(std::wstring &message);
|
||||
void typeChatMessage(const std::wstring& message);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue