🖌️Hologrammes

📝 Introduction

Les hologrammes dans Horizons sont configurés via le fichier plugins/Horizons/holograms.yml. Ce fichier permet de définir tous les hologrammes avec leurs positions, lignes de texte, objets, et associations d'équipes.

Les hologrammes peuvent afficher des informations statiques ou dynamiques (scores d'équipes, listes de joueurs, etc.) et se mettent à jour automatiquement selon l'intervalle configuré.

📂 Structure du Fichier

Le fichier holograms.yml suit cette structure de base :

settings:
  updateInterval: 1m
  debug: false

holograms:
  nom_hologramme:
    position:
      world: world
      x: 0.0
      y: 64.0
      z: 0.0
    team: nom_equipe  # Optionnel
    lines:
      - 'Texte de la ligne 1'
      - 'Texte de la ligne 2'
    format: 'Format auto-détecté'  # Optionnel - Auto-détection selon le contexte

⚙️ Section settings

La section settings contient les paramètres globaux pour tous les hologrammes.

updateInterval

  • Type: String (format: Xs, Xm, Xh)

  • Défaut: 1m

  • Description: Détermine la fréquence de mise à jour automatique des hologrammes.

Formats acceptés:

  • 30s - 30 secondes

  • 1m - 1 minute

  • 5m - 5 minutes

  • 1h - 1 heure

Exemple:

debug

  • Type: Boolean

  • Défaut: false

  • Description: Active les logs de débogage pour les hologrammes. Utile pour diagnostiquer les problèmes.

Exemple:

📍 Section holograms

La section holograms contient toutes les définitions d'hologrammes individuels.

Structure d'un Hologramme

Chaque hologramme doit avoir :

  • Un nom unique (clé de la section)

  • Une position (position)

  • Des lignes (lines)

Et optionnellement :

  • Une équipe associée (team)

  • Un format personnalisé (format) - Auto-détecté selon le contexte (joueurs ou équipes)

position

Définit l'emplacement de l'hologramme dans le monde.

Propriétés:

  • world (String) - Nom du monde (ex: world, world_nether)

  • x (Double) - Coordonnée X

  • y (Double) - Coordonnée Y

  • z (Double) - Coordonnée Z

Exemple:

team

  • Type: String (nom de l'équipe)

  • Optionnel: Oui

  • Description: Associe l'hologramme à une équipe spécifique. Cela permet d'utiliser les placeholders d'équipe et de joueurs de cette équipe.

Exemple:

Note: Si aucun team n'est spécifié, l'hologramme affichera des informations générales (liste de toutes les équipes, etc.).

lines

  • Type: List

  • Requis: Oui

  • Description: Liste des lignes de l'hologramme. Chaque ligne peut contenir :

    • Du texte avec codes couleur

    • Des placeholders

    • Des items (ITEM:MATERIAL_NAME)

Types de lignes:

  1. Texte simple : '&aBonjour'

  2. Placeholder : '%team_display_name%'

  3. Item : ITEM:EMERALD

  4. Liste dynamique : '%team_list%' ou '%player_list%'

Exemple:

format

  • Type: String

  • Optionnel: Oui

  • Description: Format utilisé pour afficher les éléments dans les listes. Le système détecte automatiquement si le format doit être appliqué aux joueurs ou aux équipes selon le contexte.

Auto-détection :

  • Si la ligne contient %player_list%, le format est utilisé pour formater chaque joueur de l'équipe associée

  • Si la ligne contient %team_list%, le format est utilisé pour formater chaque équipe

Placeholders disponibles :

Pour les formats de joueurs (avec %player_list%) :

  • %player_name% - Nom du joueur

  • %player_score% - Score du joueur

  • %currency_name% - Nom de la currency (monnaie)

  • Tous les placeholders d'équipe (si une équipe est associée)

Pour les formats d'équipes (avec %team_list%) :

  • %team_name% - Nom de l'équipe

  • %team_display_name% - Nom d'affichage de l'équipe

  • %team_score% - Score de l'équipe

  • %currency_name% - Nom de la currency (monnaie)

Valeurs par défaut :

  • Pour les joueurs : '%player_name%: %player_score%'

  • Pour les équipes : '%team_name%: %team_score%'

Exemples:

Note de rétrocompatibilité : Les anciennes clés player-format et team-format sont encore supportées mais dépréciées. Utilisez format à la place pour une configuration simplifiée et plus flexible.

🎨 Placeholders Disponibles

Placeholders d'Équipe

  • %team_name% - Nom technique de l'équipe (ex: red_team)

  • %team_display_name% - Nom d'affichage de l'équipe (ex: Équipe Rouge)

  • %team_score% - Score de l'équipe

Placeholders de Joueur

  • %player_name% - Nom du joueur

  • %player_score% - Score du joueur

Placeholders de Currency

  • %currency_name% - Nom de la currency configurée dans config.yml (ex: Emeralds)

  • %currency% - Alias de %currency_name%

Placeholders de Liste

  • %team_list% - Liste de toutes les équipes (exclut les équipes staff). Chaque équipe est affichée selon le format (auto-détecté pour les équipes).

  • %player_list% - Liste de tous les joueurs de l'équipe associée. Chaque joueur est affiché selon le format (auto-détecté pour les joueurs).

Note: Le format utilisé est automatiquement détecté selon le placeholder utilisé. Si vous utilisez %team_list%, le format sera appliqué aux équipes. Si vous utilisez %player_list%, le format sera appliqué aux joueurs.

Codes Couleur

Vous pouvez utiliser les codes couleur Minecraft standard :

  • &0 - Noir

  • &1 - Bleu foncé

  • &2 - Vert foncé

  • &3 - Cyan

  • &4 - Rouge foncé

  • &5 - Violet

  • &6 - Orange

  • &7 - Gris

  • &8 - Gris foncé

  • &9 - Bleu

  • &a - Vert

  • &b - Cyan clair

  • &c - Rouge

  • &d - Rose

  • &e - Jaune

  • &f - Blanc

  • &l - Gras

  • &m - Barré

  • &n - Souligné

  • &o - Italique

  • &r - Réinitialiser

📦 Items dans les Hologrammes

Vous pouvez afficher des items (objets) dans les hologrammes en utilisant la syntaxe ITEM:MATERIAL_NAME.

Syntaxe:

Exemples:

Note: Le nom du material doit être en MAJUSCULES et correspondre à un material Minecraft valide. Pour une liste complète, consultez la documentation Minecraft.

📋 Exemples de Configuration

Exemple 1 : Hologramme d'Équipe Simple

Affiche les informations d'une équipe spécifique avec la liste de ses membres.

Note: Le format est automatiquement utilisé pour les joueurs car il est utilisé avec %player_list%.

Exemple 2 : Classement Global des Équipes

Affiche le classement de toutes les équipes par score.

Note: Le format est automatiquement utilisé pour les équipes car il est utilisé avec %team_list%.

Exemple 3 : Hologramme avec Currency

Affiche le nom de la currency configurée.

Note: Aucun format n'est nécessaire ici car il n'y a pas de listes (%team_list% ou %player_list%).

Exemple 4 : Hologramme Mixte

Combine texte statique, items, et listes dynamiques.

Note: Le format est automatiquement utilisé pour les joueurs car il est utilisé avec %player_list%.

Exemple 5 : Migration depuis les Anciennes Clés

Si vous avez des configurations utilisant les anciennes clés player-format et team-format, vous pouvez les migrer vers format.

Avant (ancien système) :

Après (nouveau système) :

Note: Les anciennes clés (player-format et team-format) sont encore supportées pour la rétrocompatibilité, mais il est recommandé d'utiliser format pour une configuration plus simple et plus flexible.

🔄 Mise à Jour Automatique

Les hologrammes se mettent à jour automatiquement selon l'intervalle défini dans settings.updateInterval.

Comportement:

  • Les scores d'équipes et de joueurs sont mis à jour

  • Les listes d'équipes et de joueurs sont recalculées et triées

  • Les placeholders sont réévalués

Tri:

  • Les équipes dans %team_list% sont triées par score décroissant

  • Les joueurs dans %player_list% sont triés par score décroissant

Note: Après modification du fichier holograms.yml, vous devez recharger les hologrammes avec la commande /horizons hologram reload ou /holo reload.

📝 Notes Importantes

Équipes Staff

Les équipes staff sont automatiquement exclues des listes %team_list%. Seules les équipes non-staff sont affichées.

Hologrammes avec et sans Équipe

  • Avec équipe (team défini): L'hologramme peut utiliser %player_list% pour afficher les membres de cette équipe spécifique. Le format sera automatiquement utilisé pour les joueurs.

  • Sans équipe (team non défini): L'hologramme peut utiliser %team_list% pour afficher toutes les équipes, mais ne peut pas utiliser %player_list%. Le format sera automatiquement utilisé pour les équipes.

Format Auto-détecté

Le système détecte automatiquement le contexte d'utilisation du format :

  • Avec %player_list% : Le format est appliqué à chaque joueur de l'équipe

  • Avec %team_list% : Le format est appliqué à chaque équipe

Vous n'avez qu'à définir un seul format par hologramme, et il sera utilisé au bon endroit selon le contexte. Si un hologramme utilise à la fois %player_list% et %team_list%, le même format sera utilisé pour les deux (assurez-vous que votre format contient les placeholders appropriés).

Performance

  • Des intervalles de mise à jour trop courts (< 10 secondes) peuvent affecter les performances du serveur.

  • Les hologrammes avec beaucoup d'équipes ou de joueurs prendront plus de temps à se mettre à jour.

Format des Noms

  • Les noms d'hologrammes ne peuvent pas contenir d'espaces. Utilisez des underscores (_) ou des tirets (-).

  • Les noms d'équipes doivent correspondre exactement aux noms d'équipes créés dans le plugin.

Mis à jour