Add minetest.player_exists() (#5064)
authorrubenwardy <rubenwardy@gmail.com>
Wed, 18 Jan 2017 10:19:57 +0000 (10:19 +0000)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Wed, 18 Jan 2017 10:19:57 +0000 (11:19 +0100)
builtin/game/misc.lua
doc/lua_api.txt

index 7caa9e7baab4fedaae7453c8b79e7873db7d4b5e..3419c19802608d404102ce04a82d3b7107a77f70 100644 (file)
@@ -56,11 +56,11 @@ function core.check_player_privs(name, ...)
        elseif arg_type ~= "string" then
                error("Invalid core.check_player_privs argument type: " .. arg_type, 2)
        end
-       
+
        local requested_privs = {...}
        local player_privs = core.get_player_privs(name)
        local missing_privileges = {}
-       
+
        if type(requested_privs[1]) == "table" then
                -- We were provided with a table like { privA = true, privB = true }.
                for priv, value in pairs(requested_privs[1]) do
@@ -76,11 +76,11 @@ function core.check_player_privs(name, ...)
                        end
                end
        end
-       
+
        if #missing_privileges > 0 then
                return false, missing_privileges
        end
-       
+
        return true, ""
 end
 
@@ -114,6 +114,10 @@ function core.get_connected_players()
        return temp_table
 end
 
+function minetest.player_exists(name)
+       return minetest.get_auth_handler().get_auth(name) ~= nil
+end
+
 -- Returns two position vectors representing a box of `radius` in each
 -- direction centered around the player corresponding to `player_name`
 function core.get_player_radius_area(player_name, radius)
@@ -244,4 +248,3 @@ end
 function core.close_formspec(player_name, formname)
        return minetest.show_formspec(player_name, formname, "")
 end
-
index da6a898d96a0f96d01afa2dd91aa2ed123488365..c96131455f5e68b64f939a8af405964dd544d248 100644 (file)
@@ -2583,6 +2583,7 @@ These functions return the leftover itemstack.
 
 ### Misc.
 * `minetest.get_connected_players()`: returns list of `ObjectRefs`
+* `minetest.player_exists(name)`: boolean, whether player exists (regardless of online status)
 * `minetest.hud_replace_builtin(name, hud_definition)`
     * Replaces definition of a builtin hud element
     * `name`: `"breath"` or `"health"`