API Docs Help

PlayerCache

Le PlayerCache est un stockage pour les joueurs qui se sont déjà connectés ou qui ont déjà été demandé via l'API

Platforme vs Master

Platforme

La platforme commence avec 0 entrées dans son cache, à chaque demande elle stock l'entrée jusqu'à la fin du processus
Dépend du Master pour les recherches de joueurs

Master

Chaque platforme demande au master de chercher pour lui les joueurs.
Une fois fait il retourne la valeur et le stock dans un cache mémoire pour répondre plus rapidement à de futurs demandes

Méthodes

Le PlayerCache contient des méthodes avec chacun leur version async (4 threads à disposition)
Seul les méthodes synchrone seront montrés ici

PlayerCacheData

PlayerCacheData est une classe contenant 3 informations

  • uuid - l'uuid du joueur

  • name - le nom bien formaté du joueur

  • texture - la texture du joueur en base64 (optionnel)

Recherche impliquant une demande au Master

La recherche via pseudo peut se faire via les méthodes suivantes:

@Nullable UUID get(String name, boolean mojangSearch); @Nullable String get(UUID uuid, boolean mojangSearch); @Nullable PlayerCacheData getFull(String name, boolean mojangSearch); @Nullable PlayerCacheData getFull(UUID uuid, boolean mojangSearch); @NotNull List<PlayerCacheData> getFullBulkNames(List<String> names); @NotNull List<PlayerCacheData> getFullBulkUuids(List<UUID> uuids); @NotNull List<PlayerCacheData> getFullBulk(List<UUID> uuids, List<String> names);

uuid est le nom du joueur à rechercher
name est le nom (insensible au majuscule) du joueur à rechercher
mojangSearch défini si oui ou non une recherche à mojang doit être faite si le joueur est inconnu

getFullBulk fait une recherche d' uuids et de names tout en une requête
Note: Les méthodes bulks ne proposent pas de recherche mojang

Recherche sans requête au master

Le PlayerCache propose aussi deux méthodes pour éviter de faire des requêtes

@Nullable UUID getCached(String name); @Nullable String getCached(UUID uuid);

Exemple d'utilisation

PlayerCache cache = SCoreAPI.getPlayerCache(); cache.getCached("ArDiDEx"); // null, pas encore dans le cache cache.getFull("ardidex", false); // forcer une recherche au master en sync cache.getCached("ArDiDEx"); // retourne bien un uuid
Last modified: 17 septembre 2024