API Java
Ce document présente l'API Java disponible pour interagir programmatiquement avec le système d'équipes du plugin Horizons.
📝 Introduction
La classe TeamManagerAPI
sert de façade publique pour accéder aux fonctionnalités du gestionnaire d'équipes (TeamManager
). Cette API permet aux développeurs d'intégrer et de manipuler le système d'équipes d'Horizons dans leurs propres plugins.
📋 Méthodes disponibles
🔍 Vérifications d'équipes
boolean teamExists(String teamName)
- Vérifie si une équipe existeboolean isPlayerInTeam(Player player, String teamName)
- Vérifie si un joueur est dans une équipe spécifique
ℹ️ Obtention d'informations sur les équipes
String getTeamPrefix(String teamName)
- Obtient le préfixe d'une équipe (renvoie null si l'équipe n'existe pas)String getTeamDisplayName(String teamName)
- Obtient le nom d'affichage d'une équipe (renvoie null si l'équipe n'existe pas)List<UUID> getTeamPlayerUUIDs(String teamName)
- Obtient la liste des UUID des joueurs d'une équipeList<Player> getTeamPlayers(String teamName)
- Obtient la liste des objets Player d'une équipe
🏆 Récupération des équipes
List<String> getAllTeams()
- Obtient la liste de toutes les équipesList<String> getTeamsSortedByScore()
- Obtient la liste des équipes triées par score (ordre décroissant)Map<String, Integer> getAllTeamScores()
- Obtient une map associant chaque équipe à son score
🛠️ Gestion des équipes
void createTeam(String teamName, String prefix, String displayName)
- Crée une nouvelle équipevoid removeTeam(String teamName)
- Supprime une équipevoid setTeamPrefix(String teamName, String newPrefix)
- Modifie le préfixe d'une équipevoid setTeamDisplayName(String teamName, String newDisplayName)
- Modifie le nom d'affichage d'une équipe
👤 Gestion des joueurs
String getPlayerTeam(Player player)
- Obtient le nom de l'équipe d'un joueur (renvoie null si le joueur n'a pas d'équipe)void addPlayerToTeam(Player player, String teamName)
- Ajoute un joueur à une équipevoid addPlayerToTeamByName(String playerName, String teamName)
- Ajoute un joueur par son nom à une équipe (fonctionne pour les joueurs hors ligne)boolean removePlayerFromTeam(String playerName)
- Retire un joueur de son équipe
📊 Gestion des scores
int getTeamScore(String teamName)
- Obtient le score d'une équipevoid setTeamScore(String teamName, int score)
- Définit le score d'une équipevoid addTeamScore(String teamName, int points)
- Ajoute des points au score d'une équipevoid removeTeamScore(String teamName, int points)
- Retire des points du score d'une équipe
💡 Exemples d'utilisation
🎁 Exemple 1: Vérifier l'équipe d'un joueur et ajouter des points
🏅 Exemple 2: Obtenir le classement des équipes
🤝 Exemple 3: Vérifier si deux joueurs sont dans la même équipe
🆕 Exemple 4: Créer une nouvelle équipe et y ajouter des joueurs
⚙️ Notes d'implémentation
L'API est conçue pour être thread-safe et performante. Les listes retournées sont généralement des copies des collections internes, ce qui permet une utilisation sécurisée sans risquer de corrompre l'état interne du plugin Horizons.
Pour utiliser cette API, vous devez d'abord obtenir une référence au plugin Horizons via le gestionnaire de plugins de Bukkit :