🔗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.

🧩 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).

Mis à jour