🔗Placeholders API (PAPI)

Ce document détaille les placeholders fournis par le plugin Horizons pour être utilisés avec PlaceholderAPI.

📝 Introduction

Horizons s'intègre avec PlaceholderAPI pour fournir des informations dynamiques sur les équipes que vous pouvez utiliser dans n'importe quel plugin compatible avec PlaceholderAPI. Cette intégration est implémentée via la classe TeamPlaceholders qui étend PlaceholderExpansion.

🧩 Placeholders disponibles

Tous les placeholders Horizons commencent par %horizons_ et se terminent par %.

👤 Placeholders relatifs au joueur

  • %horizons_team% - Renvoie le nom de l'équipe du joueur (chaîne vide si le joueur n'a pas d'équipe)

  • %horizons_team_display% - Renvoie le nom d'affichage de l'équipe du joueur

  • %horizons_team_score% - Renvoie le score de l'équipe du joueur (0 si pas d'équipe)

  • %horizons_team_members% - Renvoie le nombre de membres dans l'équipe du joueur

  • %horizons_team_prefix% - Renvoie le préfixe de l'équipe du joueur

  • %horizons_player_score% - Renvoie le score personnel du joueur

🏆 Placeholders pour équipes spécifiques

Vous pouvez obtenir des informations sur n'importe quelle équipe en la spécifiant dans le placeholder:

  • %horizons_<teamname>_score% - Renvoie le score de l'équipe spécifiée

  • %horizons_<teamname>_display% - Renvoie le nom d'affichage de l'équipe spécifiée

  • %horizons_<teamname>_members% - Renvoie le nombre de membres dans l'équipe spécifiée

Remplacez <teamname> par le nom réel de l'équipe dont vous souhaitez obtenir les informations.

💡 Exemples d'utilisation

💬 Afficher des informations de l'équipe d'un joueur dans le chat

Configuration dans un plugin de chat comme EssentialsX Chat:

chat-format: '<%horizons_team_prefix%%player_name%> &f: &7%message%'

📊 Créer un scoreboard affichant les scores d'équipes

Avec un plugin de scoreboard comme Featherboard:

'&6Votre équipe: &f%horizons_team_display%'
'&6Score: &f%horizons_team_score%'
'&6Membres: &f%horizons_team_members%'
''
'&6Rouge: &f%horizons_rouge_score%'
'&6Bleu: &f%horizons_bleu_score%'

👨‍💻 Pour les développeurs

🔌 Intégrer les placeholders dans votre plugin

import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.entity.Player;

public class YourClass {
    public String getFormattedTeamInfo(Player player) {
        String message = "&6Équipe: &f%horizons_team_display%\n&6Score: &f%horizons_team_score%";
        
        // Remplace tous les placeholders dans le message
        if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
            message = PlaceholderAPI.setPlaceholders(player, message);
        }
        
        return ChatColor.translateAlternateColorCodes('&', message);
    }
}

⚙️ Structure technique des placeholders

Les placeholders d'Horizons sont implémentés via la classe TeamPlaceholders qui:

  • A l'identifiant "horizons" (d'où le préfixe %horizons_)

  • Est persistante (reste enregistrée jusqu'à l'arrêt du serveur)

  • Utilise l'API TeamManager pour récupérer les données

🔧 Dépannage

Si les placeholders ne fonctionnent pas correctement:

  • Assurez-vous que PlaceholderAPI est correctement installé

  • Vérifiez que l'extension Horizons est bien enregistrée avec /papi list

  • Testez un placeholder spécifique avec /papi parse me %horizons_team%

  • Assurez-vous que le joueur est bien dans une équipe si vous utilisez les placeholders relatifs aux joueurs

  • Si vous rencontrez des problèmes avec les placeholders spécifiques aux équipes, vérifiez que vous utilisez exactement le nom interne de l'équipe (sensible à la casse).

Dernière mise à jour