Platzhalter

HyperPerms bietet Platzhalter, die in Chat-Plugins, Anzeigetafeln und anderen Plugins verwendet werden können, die Platzhalter-APIs unterstützen.

Verfügbare Platzhalter

PlatzhalterBeschreibungBeispielausgabe
%hyperperms_group%Primärer Gruppennameadmin
%hyperperms_group_display%Primärer GruppendisplaynameAdministrator
%hyperperms_prefix%Präfix des Spielers&c[Admin]
%hyperperms_suffix%Suffix des Spielers&6*
%hyperperms_groups%Alle Gruppen (Komma-getrennt)admin, vip, default
%hyperperms_groups_count%Anzahl der Gruppen3
%hyperperms_weight%Höchstes Gruppengewicht90
%hyperperms_has_<perm>%Prüfen, ob Erlaubnis vorhandentrue / false
%hyperperms_in_group_<group>%Prüfen, ob in Gruppewahr / falsch
%hyperperms_on_track_<track>%Prüfen, ob auf Streckewahr / falsch
%hyperperms_track_<track>_group%Gruppe auf bestimmter Streckemod

PlaceholderAPI Integration

HyperPerms integriert sich automatisch mit PlaceholderAPI, wenn es installiert ist. Es ist keine zusätzliche Konfiguration erforderlich.

Verwendung in Chat-Plugins

Beispiel mit einer Chat-Plugin-Konfiguration:

# Example chat format config
chat:
  format: "%hyperperms_prefix%%player_name%%hyperperms_suffix%: %message%"

Verwendung in Anzeigern

# Example scoreboard config
scoreboard:
  lines:
    - "&7Rank: &f%hyperperms_group_display%"
    - "&7Weight: &f%hyperperms_weight%"
    - "&7Groups: &f%hyperperms_groups_count%"

Verwendung in Hologrammen

# Example hologram config
hologram:
  lines:
    - "%hyperperms_prefix%%player_name%"
    - "&7%hyperperms_group_display%"

Dynamische Platzhalter

Platzhalter für die Berechtigungsprüfung

Überprüft, ob ein Spieler eine bestimmte Erlaubnis hat:

%hyperperms_has_fly.enable%
%hyperperms_has_mod.kick%
%hyperperms_has_admin.gamemode%

Info: Ersetzen Sie die Punkte in den Erlaubnisknoten durch Unterstriche für den Platzhalter. Zum Beispiel wird fly.enable zu fly_enable.

Platzhalter für Gruppenprüfung

Überprüft, ob ein Spieler in einer bestimmten Gruppe ist:

%hyperperms_in_group_vip%
%hyperperms_in_group_admin%
%hyperperms_in_group_moderator%

Track-Platzhalter

Ermittelt Informationen über die Position eines Spielers auf den Tracks:

# 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%

Beispiele für die Verwendung

VIP Statusanzeige

# Show VIP status in tab list
tab:
  format: "%hyperperms_prefix%%player_name%"

# Conditional VIP indicator
sidebar:
  line: "VIP: %hyperperms_in_group_vip%"

Dienstgradanzeige

# Show staff rank on scoreboard
scoreboard:
  lines:
    - "&6Staff Rank"
    - "&f%hyperperms_track_staff_group%"
    - ""
    - "&6Your Groups"
    - "&f%hyperperms_groups%"

Erlaubnisbasierter Inhalt

# Show different content based on permissions
# (Requires a plugin that supports conditional placeholders)
fly_status: "%hyperperms_has_fly_enable%"
mod_tools: "%hyperperms_has_mod_kick%"

Programmatischer Zugang

Wenn Sie ein Plugin entwickeln und HyperPerms Platzhalter verwenden wollen:

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%!");

Benutzerdefinierte Platzhaltererweiterung

Sie können benutzerdefinierte Platzhalter erstellen, die HyperPerms-Daten verwenden:

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";
    }
}

Überlegungen zur Leistung

Tipp: HyperPerms zwischenspeichert Platzhalterwerte, um eine gute Leistung zu gewährleisten. Der Cache wird automatisch aktualisiert, wenn sich die Berechtigungen ändern.

  • Platzhalter werden bei Bedarf ausgewertet
  • Ergebnisse werden aus Effizienzgründen zwischengespeichert
  • Der Cache wird ungültig, wenn sich die Berechtigungen ändern
  • Vermeidung übermäßiger Verwendung von Platzhaltern bei hochfrequenten Aktualisierungen

Fehlerbehebung

Platzhalter funktionieren nicht

  • Stellen Sie sicher, dass PlaceholderAPI installiert ist
  • Prüfen Sie, ob HyperPerms geladen ist
  • Prüfen Sie, ob die Syntax der Platzhalter korrekt ist
  • Prüfen Sie auf Tippfehler in permission/group names

Returning Empty/Wrong Values

  • Der Spieler ist möglicherweise noch nicht beigetreten (keine Daten)
  • Gruppe oder Berechtigung könnte nicht existieren
  • Prüfen Sie mit /hp user info <player>

Siehe auch