Documentation

# 🗞️ Configuration de la Sidebar

# 📝 Introduction

Le système de sidebar de Horizons permet d'afficher une barre latérale personnalisée à droite de l'écran des joueurs. Ce système prend en charge les mêmes placeholders dynamiques que le tablist pour afficher des informations sur le joueur, le serveur et les équipes.

# ⚙️ Configuration

La configuration de la sidebar se fait dans le fichier config.yml:

settings:
  sidebar:
    enabled: true           # Activer/désactiver la sidebar
    title: "&e&lHorizons"   # Titre affiché en haut de la sidebar
    batch-size: 30          # Nombre de joueurs compris dans chaque batch
    update-delay: 20        # Ticks entre chaque batch (20 ticks = 1 seconde)
    lines:                  # Lignes affichées dans la sidebar (de haut en bas)
      - "&7&m--------------------"
      - "&6Joueur: &f{player}"
      - "&6Équipe: &f{teamname}"
      - "&6Score d'équipe: &f{teamscore}"
      - "&6Santé: &c❤ {health}"
      - "&6En ligne: &f{online}/{maxplayer}"
      - "&6Ping: &f{ping}ms"
      - "&7&m--------------------"
      - "&ewww.votreserveur.com"

# 🚀 Paramètres de performance

La sidebar doit être mise à jour régulièrement pour chaque joueur afin d'afficher les informations actualisées (vie, ping, nombre de joueurs, etc.). Sur les serveurs avec beaucoup de joueurs, cette mise à jour peut devenir exigeante pour les performances. Pour résoudre ce problème, Horizons utilise un système de traitement par lots:

  • batch-size: Détermine combien de joueurs sont mis à jour en même temps.
    • Valeur plus élevée = mises à jour plus rapides mais possible impact sur les performances
    • Valeur plus basse = charge répartie mais mises à jour moins fréquentes
    • Recommandation: 30 pour les serveurs moyens, 10-15 pour les grands serveurs (100+ joueurs)
  • update-delay: Détermine l'intervalle (en ticks) entre les mises à jour de chaque lot.
    • 20 ticks = 1 seconde dans Minecraft
    • Valeur plus basse = mises à jour plus fréquentes mais plus de charge serveur
    • Valeur plus élevée = mises à jour moins fréquentes mais économise des ressources
    • Recommandation: 20-60 ticks (1-3 secondes) pour un bon équilibre

Ces paramètres vous permettent d'optimiser la sidebar selon votre nombre de joueurs et la puissance de votre serveur. Si vous constatez des ralentissements (lag) liés à la sidebar, essayez d'augmenter l'update-delay ou de réduire le batch-size.

# 🔄 Fonctionnement

  • La sidebar affiche un titre configurable en haut et une liste de lignes en dessous
  • Chaque ligne peut contenir des codes couleur Minecraft (& suivi d'un caractère) et des placeholders
  • Le contenu est mis à jour automatiquement selon le taux de rafraîchissement défini
  • Les placeholders sont remplacés par leurs valeurs réelles pour chaque joueur
  • Un joueur qui se connecte reçoit immédiatement la sidebar configurée

# 📊 Placeholders disponibles

La sidebar prend en charge les mêmes placeholders que le tablist:

# 🧑 Placeholders Joueur

Placeholder Description Exemple
{player} Nom du joueur Steve
{displayname} Nom d'affichage du joueur [VIP] Steve
{ping} Ping du joueur en ms 42
{health} Points de vie du joueur 19.5
{food} Niveau de nourriture du joueur 20
{xp} Niveau d'expérience du joueur 30
{gamemode} Mode de jeu du joueur survival
{uuid} UUID du joueur 550e8400-e29b-41d4-a716-446655440000
{playerscore} Score personnel du joueur 250

# 🏆 Informations sur l'équipe

Placeholder Description Exemple
{prefix} Préfixe d'équipe du joueur [Rouge]
{teamname} Nom de l'équipe du joueur Rouge
{suffix} Suffixe d'équipe du joueur
{teamcolor} Couleur de l'équipe du joueur RED
{teamscore} Score de l'équipe du joueur 250

# 🌍 Informations sur le serveur

Placeholder Description Exemple
{online} Nombre de joueurs en ligne 42
{maxplayer} Capacité maximale du serveur 100
{world} Nom du monde actuel world
{time} Heure actuelle (HH:mm:ss) 15:30:45
{date} Date actuelle (JJ/MM/AAAA) 01/01/2023
{ip} Adresse IP du serveur 127.0.0.1

# 💰 Intégration avec Vault (si installé)

Placeholder Description Exemple
{balance} Solde économique du joueur 1250.00

# 💡 Exemples d'utilisation

Sidebar simple avec informations essentielles

settings:
  sidebar:
    enabled: true
    title: "&6&l✦ &e&lMon Serveur &6&l✦"
    batch-size: 30
    update-delay: 20
    lines:
      - "&fJoueur: &e{player}"
      - "&fÉquipe: &e{teamname}"
      - "&fPoints de vie: &c{health} ❤"
      - "&fEn ligne: &e{online}&7/&e{maxplayer}"

Sidebar détaillée

settings:
  sidebar:
    enabled: true
    title: "&6&l✦ &e&lMon Serveur &6&l✦"
    batch-size: 30
    update-delay: 20
    lines:
      - "&7&m------------------------"
      - "&fÉquipe: &e{teamname} &7(&f{teamscore}&7)"
      - "&7"
      - "&fJoueurs: &e{online}&7/&e{maxplayer}"
      - "&fPing: &a{ping}ms"
      - "&7"
      - "&fDate: &e{date}"
      - "&fHeure: &e{time}"
      - "&7&m------------------------"
      - "&ewww.mon-serveur.com"

# ⚠️ Remarques

  • Le nombre maximum de lignes recommandé est de 15 pour éviter les problèmes d'affichage
  • Les codes couleur utilisent le format Minecraft (& + code)
  • Les lignes vides peuvent être utilisées pour espacer le contenu ("&7")
  • Le taux de rafraîchissement ne devrait pas être trop rapide pour éviter les problèmes de performance
  • Si une ligne contient uniquement un placeholder qui renvoie une valeur vide, la ligne sera quand même affichée (avec un espace vide)
  • La sidebar peut fonctionner en même temps que le tablist personnalisé

# 🔗 Intégration

La sidebar s'intègre parfaitement avec le système d'équipes de Horizons. Les préfixes, noms et scores d'équipe configurés via la commande /horizons team seront automatiquement utilisés dans les placeholders d'équipe.