⚔️Système Anti-Déconnexion en Combat

Ce document détaille la configuration du système anti-déconnexion en combat du plugin Horizons.

📝 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:

# ##################################### #
#         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é

Mis à jour