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