forked from Mirrorlandia_minetest/minetest
[CSM] Add function to get player names in range (#5435)
* [CSM] Add function to get currently connected player names
This commit is contained in:
parent
c4b98deb61
commit
9efc5da0fb
@ -102,7 +102,7 @@ core.register_on_punchnode(function(pos, node)
|
||||
print(dump(itemstack:get_count()))
|
||||
print(dump(itemstack:get_wear()))
|
||||
print(dump(itemstack:get_meta()))
|
||||
print(dump(itemstack:get_metadata()))
|
||||
print(dump(itemstack:get_metadata()
|
||||
print(dump(itemstack:is_known()))
|
||||
--print(dump(itemstack:get_definition()))
|
||||
print(dump(itemstack:get_tool_capabilities()))
|
||||
@ -120,3 +120,10 @@ core.register_on_punchnode(function(pos, node)
|
||||
print("node:" .. dump(node))
|
||||
return false
|
||||
end)
|
||||
|
||||
-- This is an example function to ensure it's working properly, should be removed before merge
|
||||
core.register_chatcommand("list_players", {
|
||||
func = function(param)
|
||||
core.display_chat_message(dump(core.get_player_names()))
|
||||
end
|
||||
})
|
||||
|
@ -737,6 +737,10 @@ Call these functions only at load time!
|
||||
* `minetest.get_wielded_item()`
|
||||
* Returns the itemstack the local player is holding
|
||||
|
||||
### Client Environment
|
||||
* `minetest.get_player_names()`
|
||||
* Returns list of player names on server
|
||||
|
||||
### Misc.
|
||||
* `minetest.parse_json(string[, nullvalue])`: returns something
|
||||
* Convert a string containing JSON data into the Lua equivalent
|
||||
|
@ -69,6 +69,22 @@ int ModApiClient::l_display_chat_message(lua_State *L)
|
||||
return 1;
|
||||
}
|
||||
|
||||
// get_player_names()
|
||||
int ModApiClient::l_get_player_names(lua_State *L)
|
||||
{
|
||||
const std::list<std::string> &plist = getClient(L)->getConnectedPlayerNames();
|
||||
lua_createtable(L, plist.size(), 0);
|
||||
int newTable = lua_gettop(L);
|
||||
int index = 1;
|
||||
std::list<std::string>::const_iterator iter;
|
||||
for (iter = plist.begin(); iter != plist.end(); iter++) {
|
||||
lua_pushstring(L, (*iter).c_str());
|
||||
lua_rawseti(L, newTable, index);
|
||||
index++;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
// show_formspec(formspec)
|
||||
int ModApiClient::l_show_formspec(lua_State *L)
|
||||
{
|
||||
@ -154,6 +170,7 @@ void ModApiClient::Initialize(lua_State *L, int top)
|
||||
{
|
||||
API_FCT(get_current_modname);
|
||||
API_FCT(display_chat_message);
|
||||
API_FCT(get_player_names);
|
||||
API_FCT(set_last_run_mod);
|
||||
API_FCT(get_last_run_mod);
|
||||
API_FCT(show_formspec);
|
||||
|
@ -32,6 +32,9 @@ private:
|
||||
// display_chat_message(message)
|
||||
static int l_display_chat_message(lua_State *L);
|
||||
|
||||
// get_player_names()
|
||||
static int l_get_player_names(lua_State *L);
|
||||
|
||||
// show_formspec(name, fornspec)
|
||||
static int l_show_formspec(lua_State *L);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user