Placeholders
HyperPerms fournit des espaces réservés qui peuvent être utilisés dans les plugins de chat, les tableaux d'affichage et d'autres plugins qui prennent en charge les API d'espaces réservés.
Placeholders disponibles
| Description | Exemple de sortie |
|-------------|-------------|----------------|
| %hyperperms_group% | Nom du groupe principal | admin |
| %hyperperms_group_display% | Nom d'affichage du groupe principal | Administrator |
| %hyperperms_prefix% | Préfixe du joueur | &c[Admin] |
| %hyperperms_suffix% | Suffixe du joueur | &6* |
| %hyperperms_groups% | Tous les groupes (séparés par des virgules) |
| %hyperperms_groups% | Tous les groupes (séparés par des virgules) |
| %hyperperms_groups% | Tous les groupes (séparés par des virgules)séparés par des virgules) | admin, vip, default |
| %hyperperms_groups_count% | Nombre de groupes | 3 |
| %hyperperms_weight% | Poids du groupe le plus élevé | 90 |
| %hyperperms_has_<perm>% | Vérifier si a la permission | true / false |
| %hyperperms_in_group_<group>% | Vérifier s'il est dans le groupe | true / false |
| %hyperperms_on_track_<track>% | Vérifier s'il est sur la piste | true / false |
| %hyperperms_track_<track>_group% | Groupe sur une piste spécifique | mod |
PlaceholderAPI Intégration
HyperPerms s'intègre automatiquement à PlaceholderAPI s'il est installé. Aucune configuration supplémentaire n'est nécessaire.
Utilisation dans les plugins de chat
Exemple de configuration d'un plugin de chat :
# Example chat format config
chat:
format: "%hyperperms_prefix%%player_name%%hyperperms_suffix%: %message%"
Utilisation dans les tableaux de bord
# Example scoreboard config
scoreboard:
lines:
- "&7Rank: &f%hyperperms_group_display%"
- "&7Weight: &f%hyperperms_weight%"
- "&7Groups: &f%hyperperms_groups_count%"
Utilisation dans les hologrammes
# Example hologram config
hologram:
lines:
- "%hyperperms_prefix%%player_name%"
- "&7%hyperperms_group_display%"
```__
## Placeholders dynamiques
### Placeholder de contrĂ´le des permissions
Vérifie si un joueur dispose d'une autorisation spécifique :
```text
%hyperperms_has_fly.enable%
%hyperperms_has_mod.kick%
%hyperperms_has_admin.gamemode%
Info: Remplacez les points dans les nœuds de permission par des traits de soulignement pour l'espace réservé. Par exemple, fly.enable devient fly_enable.
Placeholder pour le contrĂ´le de groupe
Vérifie si un joueur fait partie d'un groupe spécifique :
%hyperperms_in_group_vip%
%hyperperms_in_group_admin%
%hyperperms_in_group_moderator%
Placements de pistes
Obtenir des informations sur la position d'un joueur sur les pistes :
# Check if on a track
%hyperperms_on_track_staff%
# Get the player's group on a specific track
%hyperperms_track_staff_group%
%hyperperms_track_donor_group%
Exemples d'utilisation
VIP Affichage de l'état
# Show VIP status in tab list
tab:
format: "%hyperperms_prefix%%player_name%"
# Conditional VIP indicator
sidebar:
line: "VIP: %hyperperms_in_group_vip%"
Affichage du grade du personnel
# Show staff rank on scoreboard
scoreboard:
lines:
- "&6Staff Rank"
- "&f%hyperperms_track_staff_group%"
- ""
- "&6Your Groups"
- "&f%hyperperms_groups%"
Contenu basé sur les autorisations
cODE DE VERROUILLAGE_8
Accès programmatique
Si vous développez un plugin et que vous souhaitez utiliser des espaces réservés HyperPerms :
import me.clip.placeholderapi.PlaceholderAPI;
public String formatMessage(Player player, String message) {
// PlaceholderAPI will replace HyperPerms placeholders
return PlaceholderAPI.setPlaceholders(player, message);
}
// Example usage
String formatted = formatMessage(player,
"Welcome, %hyperperms_prefix%%player_name%!");
Expansion personnalisée des espaces réservés
Vous pouvez créer des espaces réservés personnalisés qui utilisent des données HyperPerms :
import dev.hyperperms.api.HyperPermsProvider;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
public class MyExpansion extends PlaceholderExpansion {
@Override
public String onPlaceholderRequest(Player player, String params) {
HyperPermsAPI api = HyperPermsProvider.get();
User user = api.getUserManager().getUser(player.getUniqueId());
if (params.equals("custom_rank")) {
return user.getPrimaryGroup().getDisplayName();
}
return null;
}
@Override
public String getIdentifier() {
return "myplugin";
}
@Override
public String getAuthor() {
return "Your Name";
}
@Override
public String getVersion() {
return "1.0.0";
}
}
Considérations sur les performances
Tip: HyperPerms met en cache les valeurs des espaces réservés pour assurer de bonnes performances. Le cache est automatiquement mis à jour lorsque les permissions changent.
- Les espaces réservés sont évalués à la demande
- Les résultats sont mis en cache pour plus d'efficacité
- Le cache est invalidé lorsque les autorisations changent
- Évite l'utilisation excessive de caractères génériques lors des mises à jour fréquentes
Dépannage
Les espaces réservés ne fonctionnent pas
- Vérifier que PlaceholderAPI est installé
- Vérifier que HyperPerms est chargé
- Vérifier que la syntaxe des placeholders est correcte
- Vérifier les fautes de frappe dans permission/group names
Retour Ă vide/Wrong Values
- Le joueur n'a peut-être pas rejoint le groupe auparavant (pas de données)
- Le groupe ou l'autorisation n'existe peut-ĂŞtre pas
- Vérifier avec
/hp user info <player>
Voir aussi
- API Reference
- codes de couleur](/wiki/reference/color-codes) Guide des groupes
- guide des groupes](/wiki/concepts/groups) Guide des groupes