Documentation

# ⚔️ Anti-Déconnexion en Combat (CombatLogout)

# 📝 Introduction

Le système anti-déconnexion en combat empêche les joueurs de se déconnecter pendant un combat pour échapper à une défaite. Lorsqu'un joueur attaque ou est attaqué, il entre en "mode combat" pendant une durée configurée. S'il se déconnecte pendant cette période, des punitions configurables sont appliquées.

# ⚙️ Configuration

La configuration du système se fait dans le fichier config.yml du module:

# ##################################### #
#         COMBAT LOGOUT SYSTEM          #
# ##################################### #
combat-logout:
  # Activation globale du système de combat
  enabled: true

  # Durée du mode combat en secondes
  duration: 30

  # Configuration des messages
  messages:
    enter-combat:
      # Type: CHAT ou ACTIONBAR
      type: ACTIONBAR
      text: "&c&l⚔ Vous êtes en combat! Ne déconnectez pas pendant %time% secondes."

    exit-combat:
      type: ACTIONBAR
      text: "&a&l✓ Vous n'êtes plus en mode combat."

    timer:
      # Type peut être: CHAT, ACTIONBAR ou BOSSBAR
      type: BOSSBAR
      text: "&c⚔ Combat: &f%time%s restantes"

  # Configuration des sons
  sounds:
    enter-combat:
      enabled: true
      sound: ENTITY_ENDER_DRAGON_GROWL
      volume: 0.5
      pitch: 1.0

    exit-combat:
      enabled: true
      sound: ENTITY_PLAYER_LEVELUP
      volume: 0.5
      pitch: 1.0

  # Configuration de la bossbar (uniquement pour le timer)
  bossbar:
    # Couleur de la bossbar (RED, BLUE, GREEN, PINK, PURPLE, WHITE, YELLOW)
    color: RED

    # Style de la bossbar (SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20)
    style: SOLID

  # Configuration des punitions en cas de déconnexion
  punishment:
    # Types de punition (possibilités: DROP_ITEMS, TELEPORT, KILL)
    types:
      - DROP_ITEMS
      - KILL

    # Emplacement de spawn pour la punition TELEPORT
    teleport-location:
      world: world
      x: 0
      y: 80
      z: 0

# 🎮 Fonctionnalités

# ⏱️ Mode Combat

  • Activation automatique: Un joueur entre en mode combat lorsqu'il attaque ou est attaqué par un autre joueur
  • Durée configurable: Le mode combat dure pendant la durée spécifiée (en secondes)
  • Notification: Le joueur est informé qu'il est en mode combat via un message et un son
  • Compteur: Un timer indique au joueur le temps restant en mode combat

# 📊 Types d'affichage

Trois types d'affichage sont disponibles pour les messages:

  • CHAT: Messages envoyés dans le chat
  • ACTIONBAR: Messages affichés dans la barre d'action (au-dessus de la hotbar)
  • BOSSBAR: Messages affichés dans une barre de boss (uniquement pour le timer)

# 🔊 Effets sonores

Des sons peuvent être joués:

  • Lorsqu'un joueur entre en mode combat
  • Lorsqu'un joueur sort du mode combat Chaque son est configurable avec:
  • Le type de son (liste des sons Minecraft)
  • Le volume (0.0 à 1.0)
  • La hauteur (pitch) (0.0 à 2.0)

# 🔴 Bossbar personnalisée

Si vous utilisez le type BOSSBAR pour le timer, vous pouvez personnaliser:

  • La couleur de la barre (RED, BLUE, GREEN, PINK, PURPLE, WHITE, YELLOW)
  • Le style de la barre (SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20)

# ⚠️ Punitions en cas de déconnexion

Si un joueur se déconnecte pendant le mode combat, des punitions peuvent s'appliquées à sa prochaine connexion:

Punition Description
DROP_ITEMS Tous les items de l'inventaire du joueur sont lâchés au sol
TELEPORT Le joueur est téléporté à une position spécifique
KILL Le joueur est tué immédiatement
Vous pouvez activer une ou plusieurs punitions simultanément.

# 💡 Exemples d'utilisation

Configuration minimaliste

combat:
  enabled: true
  duration: 15
  messages:
    enter-combat:
      type: CHAT
      text: "&cVous êtes en combat! Ne déconnectez pas."
    exit-combat:
      type: CHAT
      text: "&aVous n'êtes plus en combat."
    timer:
      type: ACTIONBAR
      text: "&cCombat: %time%s"
  punishment:
    types:
      - KILL

Configuration avancée avec bossbar et multiples punitions

combat:
  enabled: true
  duration: 45
  messages:
    enter-combat:
      type: ACTIONBAR
      text: "&c&l⚔ MODE COMBAT ACTIVÉ &f- Ne déconnectez pas pendant %time% secondes"
    exit-combat:
      type: ACTIONBAR
      text: "&a&l✓ MODE COMBAT DÉSACTIVÉ &f- Vous pouvez vous déconnecter"
    timer:
      type: BOSSBAR
      text: "&4&l⚔ COMBAT EN COURS &f- Déconnexion interdite pendant &e%time%s"
  sounds:
    enter-combat:
      enabled: true
      sound: ENTITY_WITHER_SPAWN
      volume: 0.3
      pitch: 0.8
    exit-combat:
      enabled: true
      sound: ENTITY_PLAYER_LEVELUP
      volume: 0.7
      pitch: 1.5
  bossbar:
    color: RED
    style: SEGMENTED_10
  punishment:
    types:
      - DROP_ITEMS
      - TELEPORT
      - KILL
    teleport-location:
      world: world
      x: 100
      y: 70
      z: 100

# ⚠️ Remarques

  • Le placeholder %time% est remplacé par le temps restant en secondes
  • La configuration de la bossbar n'est utilisée que si le type du timer est BOSSBAR
  • La configuration de teleport-location n'est utilisée que si la punition TELEPORT est activée
  • Si combat.enabled est défini sur false, tout le système est désactivé