API Docs Help

Placeholders

Les placeholders SquidCore sont une extension à ceux déjà introduit par PlaceholderAPI

Différence

Les placeholders SquidCore peuvent supporter autre chose que des String (qui n'est pas le cas de PAPI)

Context optionnel

Le contexte (en l'occurrence (Offline)Player dans PAPI) n'est pas obligatoire dans SquidCore et il peut être de n'importe quel type

Création

La création se fait via une des classes présente dans SquidCore, ces dernières suivent tous la même logique
Ils donnent une chaîne de caractères et un context optionnel, vous leur donnez un objet en retour.

Les différentes classes

Les classes avec context

Les classes avec context ont un paramètre en plus : @Nullable Objet context

(Context)PlaceholderRequestable

Le requestable est à la base de tout placeholder et chacune des classes de placeholder.
Il donne l'accès le plus brut et ne contrôle aucun de vos retours

(Context)PlaceholderTraversable

Le traversable est une extension au requestable, il crée un objet PlaceholderTraverser contenant le paramètre divisé à chaque espace.
Il contrôle aussi les retours, appelant automatiquement les objets retournés si ils sont d'une classe de placeholder

PlaceholderTraverser

L'objet PlaceholderTraverser contient plusieurs méthodes:
next: permet d'obtenir la prochaine chaine de caractère dans la liste et avance la position de 1
peek: permet d'obtenir la prochain chaîne de caractère dans la liste sans incrémenter la position
collapseRemaining(char delimiter): permet d'obtenir toute les prochaine chaîne de caractère délimité par le délimiteur donné

Appel

Les placeholders peuvent être appelé à l'aide d'un PlaceholderRequestableMap

PlaceholderRequestableMap

Ce dernier est une map contenant les placeholders que vous lui donnez, il peut être créé à l'aide d'une autre map, copiant son contenu
À la création, il est également possible de lui passer un context qui sera automatiquement passé aux placeholders

Méthodes

registerPlaceholder: permet d'enregistrer un placeholder
registerMap: permet de copier le contenu actuel d'une autre map
registerChildren: permet d'enregistrer une map comme 'enfant' de la map actuel, elle sera appelé si la map ne contient pas le placeholder demandé
directRegister: permet d'enregistrer une valeur a retourné pour un placeholder x
unregisterPlaceholder: permet d'enlever un placeholder via son namespace
setFallbackRequestable: permet de définir le placeholder à appelé si aucun autre n'est trouvé

Parsing des placeholders

Les placeholders peuvent être parse de manière générale à l'aide de la méthode PlaceholderWrappers.wrap(objet, class)
Ce dernier retourne un PlaceholderWrapper qui peut être appelé avec une Function<String, Object> (la map compte comme une fonction !)

Certaines classes peuvent aussi être créées via leur constructeur, liste non exhaustive :

  • ComponentWrapper

  • ComponentWrapperList

  • StringWrapper

  • StringWrapperList

Last modified: 17 septembre 2024