# Informations

### Description

**FoxPets** ajoute un système complet de **familiers** et d'**oeufs** sur Minecraft, avec un principe d'éclosion, d'évolution, de niveaux, de nourriture et bien d'autres objets spéciaux. Ce plugin vise également à rendre les **familiers** échangeables afin de favoriser les **échanges** entre joueurs.

### Fonctionnalités

* Compatible **1.21+**
* Support **Folia**
* Système de **familiers** configurables (modèles via MythicMobs)
* Système d'**œufs** configurables avec **pool de familiers** obtenable
* **Rangs** et progression par XP (D, C, B, A, S)
* **Nourritures** par rang (items configurables)
* **Statistiques** configurables via `statistics.yml` + assignation par rang/pet
* **Hologrammes** custom (contenu, offset, progress bar par états)
* **GUI** des familiers (slots configurables, boutons, pagination, filtre)
* **Protection PvP** pour bloquer l'ouverture du menu en combat et cacher le familier
* Système de **reroll de familier**
* Stockage **YAML** ou **MySQL** (avec cache)
* De nombreux objets bonus pour les familiers.

#### Dépendances

**Requises**

* MythicMobs
* ProtocolLib

**Soft-depend (intégrations optionnelles)**

* EpicCraftingsPlus
* AuroraLevels
* FoxJobs
* EconomyShopGUI / EconomyShopGUI-Premium
* ShopGUIPlus
* AxAFKZone
* CrazyCrates
* VirtualSpawner

### Glossaire

| Système        | Fonction         | Description                                                                                              |
| -------------- | ---------------- | -------------------------------------------------------------------------------------------------------- |
| Œufs           | Éclosion         | Les œufs gagnent de l'XP (nourriture) puis éclosent en familier (pool pondéré).                          |
| Familiers      | Suivi            | Les familiers suivent le joueur (distance, vitesse, radius).                                             |
| Rangs          | D → S            | Chaque rang débloque une statistique (et des valeurs) selon la config du pet.                            |
| Statistiques   | Boosts / chances | Bonus d'XP, vente shop, jobs, reroll caisses, immunité chute, etc.                                       |
| Hologrammes    | Progress bar     | Hologrammes pour œufs et familiers avec barres d'états configurables.                                    |
| Menu           | Filtres + pages  | Menu paginé, boutons filtre, informations, page suivante/précédente.                                     |
| PvP Protection | Anti-combat      | Empêche l'accès au menu et cacher le familier pendant un délai après avoir subis des dégâts d'un joueur. |
| Reroll         | Re-roll stats    | Menu dédié pour reroll une statistique (sacrifice ou parchemins).                                        |

### Statistiques disponibles (statistics.yml)

Les statistiques sont définies dans `statistics.yml` puis utilisées dans `config.yml` via `stat_id`.

<table><thead><tr><th width="250">Stat ID</th><th>Effet</th><th width="86">Type</th><th width="167">Intégration</th></tr></thead><tbody><tr><td><code>adventure_xp_boost</code></td><td>Octroie un boost d'XP</td><td>% + flat</td><td>AuroraLevels</td></tr><tr><td><code>crafting_speed_boost</code></td><td>Augmente la vitesse de craft</td><td>%</td><td>EpicCraftingsPlus</td></tr><tr><td><code>economy_sell_boost</code></td><td>Augmente le prix de vente d'une ressource / catégorie</td><td>%</td><td>EconomyShopGUI</td></tr><tr><td><code>shop_sell_boost</code></td><td>Augmente le prix de vente d'une ressource / catégorie</td><td>%</td><td>ShopGUIPlus</td></tr><tr><td><code>job_exp_boost</code></td><td>Boost l'XP de métier obtenu</td><td>%</td><td>FoxJobs</td></tr><tr><td><code>enchant_no_xp_loss</code></td><td>Chance de ne pas perdre d'XP en faisant un enchantement</td><td>%</td><td>Vanilla</td></tr><tr><td><code>fall_damage_immunity</code></td><td>Immunité aux dégâts de chute</td><td>%</td><td>Vanilla</td></tr><tr><td><code>health_boost</code></td><td>Bonus de vie</td><td>flat</td><td>Vanilla</td></tr><tr><td><code>afk_zone_reward_reduction</code></td><td>Réduction du temps pour recevoir une récompense</td><td>%</td><td>AxAFKZone</td></tr><tr><td><code>crazy_crates_reroll_chance</code></td><td>Chance de laisser un joueur reroll une caisse</td><td>%</td><td>CrazyCrates</td></tr><tr><td><code>virtual_spawner_sell_boost</code></td><td>Augmente le prix de vente</td><td>%</td><td>VirtualSpawner</td></tr><tr><td><code>mythic_mob_drop_boost</code></td><td>Double le drop d'un mob</td><td>%</td><td>MythicMobs</td></tr></tbody></table>

### Commandes et permissions

<table><thead><tr><th width="217">Commande</th><th>Description</th><th width="170">Permission</th></tr></thead><tbody><tr><td>/pets</td><td>Ouvre le menu des familiers (si joueur)</td><td>/</td></tr><tr><td>/pet</td><td>Alias/commande de gestion (selon config serveur)</td><td>/</td></tr><tr><td>/eggs</td><td>Ouvre le menu (actuellement relié au menu pets)</td><td>/</td></tr><tr><td>/pets give &#x3C;pet_id> &#x3C;player></td><td>Donne un familier à un joueur</td><td><code>foxpets.give</code></td></tr><tr><td>/pets give reroll-item &#x3C;player> &#x3C;amount></td><td>Donne des parchemins de reroll</td><td><code>foxpets.give</code></td></tr><tr><td>/pets foodgive &#x3C;player> &#x3C;rank> [amount]</td><td>Donne une nourriture de rang (D/C/B/A)</td><td><code>foxpets.givefood</code></td></tr><tr><td>/givefood &#x3C;player> &#x3C;food_type></td><td>Donne une nourriture (commande dédiée)</td><td><code>foxpets.givefood</code></td></tr><tr><td>/pets egg &#x3C;player> &#x3C;egg_type></td><td>Donne un œuf (ex: <code>common</code>, <code>rare</code>, <code>legendary</code>)</td><td><code>foxpets.egg</code></td></tr><tr><td>/pets reroll</td><td>Ouvre le menu de reroll</td><td><code>foxpets.reroll</code></td></tr><tr><td>/pets reload</td><td>Recharge la configuration</td><td><code>foxpets.reload</code></td></tr></tbody></table>

#### Œufs

Chaque œuf a :

* `xp_required` (XP pour éclore)
* `pet_pool` (pool pondéré des familiers possibles)
* `hologram` (contenu + progress bar)
* `item` (apparence de l'œuf en item)

#### Familiers

Chaque familier a :

* `mythicmob_id` (entité affichée via MythicMobs)
* paramètres de follow
* `statistics` par rang (stat\_id + min/max + hologram)
* `item` (objet récupérable/échangeable)

#### Rangs et nourritures

La **nourriture** permet d'augmenter la barre **d'expérience** du familier, lui permettant de franchir différents paliers de rang afin de débloquer de nouvelles lignes de **statistiques** bonus. À chaque nouveau rang, une statistique est **dévoilée** avec une valeur aléatoire.

* `default_rank` définit le rang de départ.
* `xp_required` définit les paliers d'XP (par rang).
* `food` définit les items de nourriture par rang.

#### Reroll

Le reroll (ou relance) permet de **relancer** la valeur d'une statistique d'un familier en obtenant un nouveau **pourcentage** aléatoire, en sacrifiant un familier du même rang.

* `item` définit le parchemin de reroll
* `costs` définit le coût par rang
* `menu` définit l'UI en 2 phases : `selection` puis `stats`

### Configurations

{% code title="config.yml" lineNumbers="true" expandable="true" %}

```yaml
prefix: "<gradient:#ffaa00:#ffff55>[FoxPets]</gradient>"

debug:
  warn_sync_data_access: true
  log_shutdown_errors: true

storage:
  type: "yaml"
  mysql:
    host: "localhost"
    port: 3306
    database: "foxpets"
    username: "root"
    password: ""
    batch_size: 100
    query_timeout: 5
  cache:
    max_size: 1000
    ttl_minutes: 10
    auto_save_interval_minutes: 10

pvp_protection:
  enabled: true
  duration_seconds: 10

menu:
  title: "<dark_gray>Vos Familiers"
  size: 54
  slots: [19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43]
  items:
    background:
      material: "BLACK_STAINED_GLASS_PANE"
      name: " "
    no_pet:
      material: "BARRIER"
      name: "<red>Aucun Familier Actif"
      lore:
        - "<gray>Cliquez sur un familier pour l'activer"
    active_pet_display:
      name: "<green><bold>Familier Actif"
      lore:
        - "<gray>Nom: <white>{pet_name}"
        - ""
        - "<yellow>Rang: <white>{rank}"
        - "<yellow>XP: <white>{xp}/{required_xp}"
        - ""
        - "<green>✓ Actuellement actif"
    active_pet_lore:
      - ""
      - "<green>Actuellement Actif"
      - "<gray>Clic pour désactiver"
    inactive_pet_lore:
      - ""
      - "<gray>Clic pour activer"
    filter_button:
      slot: 49
      all:
        material: "COMPARATOR"
        custom_model_data: 1
        name: "<yellow>Filtre: <white>Tous"
        lore:
          - "<gray>Affiche les familiers et les œufs"
          - ""
          - "<gray>Clic pour changer"
      pets_only:
        material: "BONE"
        custom_model_data: 2
        name: "<yellow>Filtre: <white>Familiers uniquement"
        lore:
          - "<gray>Affiche uniquement les familiers"
          - ""
          - "<gray>Clic pour changer"
      eggs_only:
        material: "EGG"
        custom_model_data: 3
        name: "<yellow>Filtre: <white>Œufs uniquement"
        lore:
          - "<gray>Affiche uniquement les œufs"
          - ""
          - "<gray>Clic pour changer"
    information:
      slot: 53
      material: "BOOK"
      custom_model_data: 1
      name: "<gold>Information"
      lore:
        - "<gray>Cliquez pour plus d'informations"
      command: "help foxpets"
    next_page:
      slot: 50
      material: "ARROW"
      custom_model_data: 1
      name: "<green>Page Suivante"
      lore:
        - "<gray>Cliquez pour voir la page suivante"
    previous_page:
      slot: 48
      material: "ARROW"
      custom_model_data: 1
      name: "<green>Page Précédente"
      lore:
        - "<gray>Cliquez pour voir la page précédente"

ranking:
  default_rank: "D"
  xp_required:
    D: 10
    C: 20
    B: 30
    A: 50
  food:
    rank_d:
      name: "<yellow>Nourriture Rang D</yellow>"
      material: "COOKED_BEEF"
      custom_model_data: 1
      lore:
        - "<gray>Permet de faire passer un familier"
        - "<gray>du rang D au rang C"
        - "<gray>ou de nourrir un œuf"
    rank_c:
      name: "<green>Nourriture Rang C</green>"
      material: "COOKED_PORKCHOP"
      custom_model_data: 2
      lore:
        - "<gray>Permet de faire passer un familier"
        - "<gray>du rang C au rang B"
    rank_b:
      name: "<aqua>Nourriture Rang B</aqua>"
      material: "COOKED_MUTTON"
      custom_model_data: 3
      lore:
        - "<gray>Permet de faire passer un familier"
        - "<gray>du rang B au rang A"
    rank_a:
      name: "<light_purple>Nourriture Rang A</light_purple>"
      material: "COOKED_RABBIT"
      custom_model_data: 4
      lore:
        - "<gray>Permet de faire passer un familier"
        - "<gray>du rang A au rang S"
  rank_colors:
    D: "<gray>"
    C: "<yellow>"
    B: "<green>"
    A: "<aqua>"
    S: "<light_purple>"

eggs:
  common:
    display_name: "<white>Œuf Commun</white>"
    mythicmob_id: "classic_egg"
    xp_required: 50
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5
    lore:
      - "<gray>Un œuf mystérieux..."
      - "<gray>Nourrissez-le pour le faire éclore!"
    hologram:
      content:
        - "<white>✦ {name} <white>✦"
        - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
        - "<gray>Œuf Commun"
      height_offset: 0.0
      progress_bar:
        states:
          - "<gray>▒▒▒▒</gray>"
          - "<green>█</green><gray>▒▒▒</gray>"
          - "<green>██</green><gray>▒▒</gray>"
          - "<green>███</green><gray>▒</gray>"
          - "<green>████</green>"
    item:
      material: "EGG"
      custom_model_data: 1
    pet_pool:
      fox: 50.0
      wolf: 50.0
  
  rare:
    display_name: "<blue>Œuf Rare</blue>"
    mythicmob_id: "classic_egg"
    xp_required: 100
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5
    lore:
      - "<gray>Un œuf rare et précieux..."
      - "<gray>Nourrissez-le pour le faire éclore!"
    hologram:
      content:
        - "<blue>✦ {name} <blue>✦"
        - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
        - "<blue>Œuf Rare"
      height_offset: 0.0
      progress_bar:
        states:
          - "<gray>▒▒▒▒</gray>"
          - "<blue>█</blue><gray>▒▒▒</gray>"
          - "<blue>██</blue><gray>▒▒</gray>"
          - "<blue>███</blue><gray>▒</gray>"
          - "<blue>████</blue>"
    item:
      material: "EGG"
      custom_model_data: 2
    pet_pool:
      fox: 30.0
      wolf: 70.0
  
  legendary:
    display_name: "<gold>Œuf Légendaire</gold>"
    mythicmob_id: "classic_egg"
    xp_required: 200
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5
    lore:
      - "<gray>Un œuf légendaire extrêmement rare!"
      - "<gray>Nourrissez-le pour le faire éclore!"
    hologram:
      content:
        - "<gold>✦ {name} <gold>✦"
        - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
        - "<gold>Œuf Légendaire"
      height_offset: 0.0
      progress_bar:
        states:
          - "<gray>▒▒▒▒</gray>"
          - "<gold>█</gold><gray>▒▒▒</gray>"
          - "<gold>██</gold><gray>▒▒</gray>"
          - "<gold>███</gold><gray>▒</gray>"
          - "<gold>████</gold>"
    item:
      material: "EGG"
      custom_model_data: 3
    pet_pool:
      fox: 25.0
      wolf: 25.0
      miner_mole: 10.0
      guardian_angel: 10.0
      lucky_panda: 25.0
      dark_knight: 5.0

pets:
  fox:
    display_name: "<gold>Renard Magique</gold>"
    mythicmob_id: "monkey"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Un renard mystique qui vous suit"
      - "<gray>partout où vous allez."
      - ""
      - "<yellow>Rareté: <gold>Légendaire"
    statistics:
      D:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gradient:#ff5555:#ffaa00>✦</gradient> {name} {rank} <gradient:#ff5555:#ffaa00>✦</gradient>"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      C:
        stat_id: "crafting_speed_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gradient:#ffaa00:#ffff55>✦</gradient> {name} {rank} <gradient:#ffaa00:#ffff55>✦</gradient>"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      B:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gradient:#ffff55:#55ff55>✦</gradient> {name} {rank} <gradient:#ffff55:#55ff55>✦</gradient>"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<green>█</green><gray>▒▒▒</gray>"
              - "<green>██</green><gray>▒▒</gray>"
              - "<green>███</green><gray>▒</gray>"
              - "<green>████</green>"
      A:
        stat_id: "crafting_speed_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gradient:#55ff55:#55ffff>✦</gradient> {name} {rank} <gradient:#55ff55:#55ffff>✦</gradient>"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<aqua>█</aqua><gray>▒▒▒</gray>"
              - "<aqua>██</aqua><gray>▒▒</gray>"
              - "<aqua>███</aqua><gray>▒</gray>"
              - "<aqua>████</aqua>"
      S:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gradient:#55ffff:#ff55ff>✦</gradient> {name} {rank} <gradient:#55ffff:#ff55ff>✦</gradient>"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
            - "<rainbow>MAX LEVEL</rainbow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<light_purple>████</light_purple>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 1
      name: "<gold>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"
  
  wolf:
    display_name: "<gray>Loup Argenté</gray>"
    mythicmob_id: "enderling"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Un loup loyal et rapide."
      - ""
      - "<yellow>Rareté: <blue>Rare"
    statistics:
      D:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gray>⚔ {name} {rank} <gray>⚔"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<white>█</white><gray>▒▒▒</gray>"
              - "<white>██</white><gray>▒▒</gray>"
              - "<white>███</white><gray>▒</gray>"
              - "<white>████</white>"
      C:
        stat_id: "crafting_speed_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gray>⚔ {name} {rank} <gray>⚔"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<white>█</white><gray>▒▒▒</gray>"
              - "<white>██</white><gray>▒▒</gray>"
              - "<white>███</white><gray>▒</gray>"
              - "<white>████</white>"
      B:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gray>⚔ {name} {rank} <gray>⚔"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<white>█</white><gray>▒▒▒</gray>"
              - "<white>██</white><gray>▒▒</gray>"
              - "<white>███</white><gray>▒</gray>"
              - "<white>████</white>"
      A:
        stat_id: "crafting_speed_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gray>⚔ {name} {rank} <gray>⚔"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<white>█</white><gray>▒▒▒</gray>"
              - "<white>██</white><gray>▒▒</gray>"
              - "<white>███</white><gray>▒</gray>"
              - "<white>████</white>"
      S:
        stat_id: "adventure_xp_boost"
        min_value: 1.0
        max_value: 5.0
        hologram:
          content:
            - "<gray>⚔ {name} {rank} <gray>⚔"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<white>████</white>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 2
      name: "<gray>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"

  miner_mole:
    display_name: "<yellow>Taupe Mineuse</yellow>"
    mythicmob_id: "hot_dog"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Une taupe experte en minage."
      - "<gray>Elle adore l'or et le travail !"
      - ""
      - "<yellow>Rareté: <gold>Légendaire"
    statistics:
      D:
        stat_id: "economy_sell_boost"
        option: "CATEGORY"
        target: "Ores"
        min_value: 5.0
        max_value: 10.0
        hologram:
          content:
            - "<yellow>✦ {name} {rank} <yellow>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      C:
        stat_id: "job_exp_boost"
        min_value: 5.0
        max_value: 15.0
        hologram:
          content:
            - "<yellow>✦ {name} {rank} <yellow>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      B:
        stat_id: "economy_sell_boost"
        option: "LIST"
        target: "Ores;DIAMOND,Ores;EMERALD"
        min_value: 10.0
        max_value: 20.0
        hologram:
          content:
            - "<yellow>✦ {name} {rank} <yellow>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      A:
        stat_id: "job_exp_boost"
        job_id: "Miner"
        min_value: 15.0
        max_value: 25.0
        hologram:
          content:
            - "<yellow>✦ {name} {rank} <yellow>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<yellow>█</yellow><gray>▒▒▒</gray>"
              - "<yellow>██</yellow><gray>▒▒</gray>"
              - "<yellow>███</yellow><gray>▒</gray>"
              - "<yellow>████</yellow>"
      S:
        stat_id: "economy_sell_boost"
        option: "CATEGORY"
        target: "Ores"
        min_value: 20.0
        max_value: 30.0
        hologram:
          content:
            - "<yellow>✦ {name} {rank} <yellow>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<yellow>████</yellow>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 3
      name: "<yellow>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"

  guardian_angel:
    display_name: "<light_purple>Ange Gardien</light_purple>"
    mythicmob_id: "nm_penguin"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Un protecteur divin qui veille"
      - "<gray>sur votre santé et votre expérience."
      - ""
      - "<yellow>Rareté: <light_purple>Épique"
    statistics:
      D:
        stat_id: "fall_damage_immunity"
        min_value: 25.0
        max_value: 50.0
        hologram:
          content:
            - "<light_purple>✦ {name} {rank} <light_purple>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<light_purple>█</light_purple><gray>▒▒▒</gray>"
              - "<light_purple>██</light_purple><gray>▒▒</gray>"
              - "<light_purple>███</light_purple><gray>▒</gray>"
              - "<light_purple>████</light_purple>"
      C:
        stat_id: "enchant_no_xp_loss"
        min_value: 25.0
        max_value: 50.0
        hologram:
          content:
            - "<light_purple>✦ {name} {rank} <light_purple>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<light_purple>█</light_purple><gray>▒▒▒</gray>"
              - "<light_purple>██</light_purple><gray>▒▒</gray>"
              - "<light_purple>███</light_purple><gray>▒</gray>"
              - "<light_purple>████</light_purple>"
      B:
        stat_id: "health_boost"
        min_value: 2.0
        max_value: 4.0
        hologram:
          content:
            - "<light_purple>✦ {name} {rank} <light_purple>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<light_purple>█</light_purple><gray>▒▒▒</gray>"
              - "<light_purple>██</light_purple><gray>▒▒</gray>"
              - "<light_purple>███</light_purple><gray>▒</gray>"
              - "<light_purple>████</light_purple>"
      A:
        stat_id: "fall_damage_immunity"
        min_value: 30.0
        max_value: 50.0
        hologram:
          content:
            - "<light_purple>✦ {name} {rank} <light_purple>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<light_purple>█</light_purple><gray>▒▒▒</gray>"
              - "<light_purple>██</light_purple><gray>▒▒</gray>"
              - "<light_purple>███</light_purple><gray>▒</gray>"
              - "<light_purple>████</light_purple>"
      S:
        stat_id: "health_boost"
        min_value: 6.0
        max_value: 10.0
        hologram:
          content:
            - "<light_purple>✦ {name} {rank} <light_purple>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<light_purple>████</light_purple>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 4
      name: "<light_purple>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"

  lucky_panda:
    display_name: "<green>Panda Chanceux</green>"
    mythicmob_id: "monkey"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Un panda qui apporte chance"
      - "<gray>et prospérité à son maître."
      - ""
      - "<yellow>Rareté: <green>Rare"
    statistics:
      D:
        stat_id: "afk_zone_reward_reduction"
        option: "LIST"
        target: "Gare"
        min_value: 5.0
        max_value: 10.0
        hologram:
          content:
            - "<green>✦ {name} {rank} <green>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<green>█</green><gray>▒▒▒</gray>"
              - "<green>██</green><gray>▒▒</gray>"
              - "<green>███</green><gray>▒</gray>"
              - "<green>████</green>"
      C:
        stat_id: "crazy_crates_reroll_chance"
        option: "LIST"
        target: "Bonus"
        min_value: 5.0
        max_value: 10.0
        hologram:
          content:
            - "<green>✦ {name} {rank} <green>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<green>█</green><gray>▒▒▒</gray>"
              - "<green>██</green><gray>▒▒</gray>"
              - "<green>███</green><gray>▒</gray>"
              - "<green>████</green>"
      B:
        stat_id: "afk_zone_reward_reduction"
        option: "LIST"
        target: "Gare"
        min_value: 10.0
        max_value: 20.0
        hologram:
          content:
            - "<green>✦ {name} {rank} <green>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<green>█</green><gray>▒▒▒</gray>"
              - "<green>██</green><gray>▒▒</gray>"
              - "<green>███</green><gray>▒</gray>"
              - "<green>████</green>"
      A:
        stat_id: "crazy_crates_reroll_chance"
        option: "LIST"
        target: "Bonus"
        min_value: 10.0
        max_value: 20.0
        hologram:
          content:
            - "<green>✦ {name} {rank} <green>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<green>█</green><gray>▒▒▒</gray>"
              - "<green>██</green><gray>▒▒</gray>"
              - "<green>███</green><gray>▒</gray>"
              - "<green>████</green>"
      S:
        stat_id: "crazy_crates_reroll_chance"
        option: "LIST"
        target: "Bonus"
        min_value: 20.0
        max_value: 30.0
        hologram:
          content:
            - "<green>✦ {name} {rank} <green>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<green>████</green>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 5
      name: "<green>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"

  dark_knight:
    display_name: "<dark_red>Chevalier Noir</dark_red>"
    mythicmob_id: "ender_watchman"
    follow_distance: 30.0
    follow_speed: 1.2
    acceptance_radius: 5.0
    lore:
      - "<gray>Un guerrier des ombres qui"
      - "<gray>maîtrise l'art du combat et du butin."
      - ""
      - "<yellow>Rareté: <dark_red>Légendaire"
    statistics:
      D:
        stat_id: "virtual_spawner_sell_boost"
        min_value: 5.0
        max_value: 10.0
        hologram:
          content:
            - "<dark_red>✦ {name} {rank} <dark_red>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<dark_red>█</dark_red><gray>▒▒▒</gray>"
              - "<dark_red>██</dark_red><gray>▒▒</gray>"
              - "<dark_red>███</dark_red><gray>▒</gray>"
              - "<dark_red>████</dark_red>"
      C:
        stat_id: "mythic_mob_drop_boost"
        option: "LIST"
        target: "Enderbruisertiktok"
        min_value: 5.0
        max_value: 10.0
        hologram:
          content:
            - "<dark_red>✦ {name} {rank} <dark_red>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<dark_red>█</dark_red><gray>▒▒▒</gray>"
              - "<dark_red>██</dark_red><gray>▒▒</gray>"
              - "<dark_red>███</dark_red><gray>▒</gray>"
              - "<dark_red>████</dark_red>"
      B:
        stat_id: "virtual_spawner_sell_boost"
        min_value: 10.0
        max_value: 15.0
        hologram:
          content:
            - "<dark_red>✦ {name} {rank} <dark_red>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<dark_red>█</dark_red><gray>▒▒▒</gray>"
              - "<dark_red>██</dark_red><gray>▒▒</gray>"
              - "<dark_red>███</dark_red><gray>▒</gray>"
              - "<dark_red>████</dark_red>"
      A:
        stat_id: "mythic_mob_drop_boost"
        option: "LIST"
        target: "Enderbruisertiktok"
        min_value: 10.0
        max_value: 20.0
        hologram:
          content:
            - "<dark_red>✦ {name} {rank} <dark_red>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<gray>▒▒▒▒</gray>"
              - "<dark_red>█</dark_red><gray>▒▒▒</gray>"
              - "<dark_red>██</dark_red><gray>▒▒</gray>"
              - "<dark_red>███</dark_red><gray>▒</gray>"
              - "<dark_red>████</dark_red>"
      S:
        stat_id: "virtual_spawner_sell_boost"
        min_value: 20.0
        max_value: 30.0
        hologram:
          content:
            - "<dark_red>✦ {name} {rank} <dark_red>✦"
            - "<white>{progress_bar} <yellow>{xp}/{max_xp}</yellow>"
          height_offset: 0.0
          progress_bar:
            states:
              - "<dark_red>████</dark_red>"
    item:
      material: "PLAYER_HEAD"
      custom_model_data: 6
      name: "<dark_red>{pet_name} <gray>[{rank}]"
      lore:
        - "<gray>Clic droit pour obtenir ce familier"
        - ""
        - "<yellow>Rang: {rank}"
        - "<yellow>XP: <white>{xp}/{xp_max}"
        - ""
        - "<gray>Ce familier peut être échangé"
        - "<gray>entre joueurs!"

reroll:
  item:
    material: "PAPER"
    custom_model_data: 10
    name: "<gold>Parchemin de Reroll"
    lore:
      - "<gray>Utilisez ce parchemin pour"
      - "<gray>changer les statistiques de votre familier!"
  costs:
    D: 1
    C: 2
    B: 3
    A: 4
    S: 6

  menu:
    selection: # Phase 1
      title: "<dark_gray>Reroll - Sélection"
      size: 54
      info_book:
        material: "BOOK"
        slot: 4
        custom_model_data: 0
        name: "<gold>Info Reroll"
        lore: ["<gray>Info about selection..."]
      target_slot: 28
      target_indicator:
        material: "LIME_STAINED_GLASS_PANE"
        slot: 19
        custom_model_data: 0
        name: "<green>Slot Familier"
        lore: ["<gray>Placez votre familier ici"]
      sacrifice_slot: 34
      sacrifice_indicator:
        material: "RED_STAINED_GLASS_PANE"
        slot: 25
        custom_model_data: 0
        name: "<red>Slot Sacrifice"
        lore: ["<gray>Sacrificez un familier ou parchemins"]
      confirm_button:
        slot: 49
        material: "LIME_DYE"
        custom_model_data: 5
        name: "<green>Confirmer"
        lore: ["<gray>Cliquez pour valider"]
      invalid_button:
        slot: 49
        material: "RED_DYE"
        custom_model_data: 0
        name: "<red>Sélection Invalide"
        lore: ["<gray>Veuillez placer un familier et un sacrifice valide"]

    stats: # Phase 2
      title: "<dark_gray>Reroll - Statistiques"
      size: 54
      info_book:
        material: "BOOK"
        slot: 4
        custom_model_data: 0
        name: "<gold>Info Stats"
        lore: ["<gray>Choisissez une ligne"]
      target_display_slot: 25
      process_button:
        slot: 49
        material: "ANVIL"
        custom_model_data: 0
        name: "<green>Confirmer le Reroll"
        lore: ["<gray>Cliquez pour relancer la statistique"]
      ranks:
        D:
          slot: 19
          material: "PAPER"
          custom_model_data: 1
          name_available: "<green>Rang D"
          name_locked: "<red>Rang D (Verrouillé)"
          name_selected: "<gold>Rang D (Sélectionné)"
          lore:
            - "<gray>Statistique: <yellow>{stat_name}"
            - "<gray>Valeur: <yellow>{stat_value}"
        C:
          slot: 20
          material: "PAPER"
          custom_model_data: 2
          name_available: "<green>Rang C"
          name_locked: "<red>Rang C (Verrouillé)"
          name_selected: "<gold>Rang C (Sélectionné)"
          lore:
            - "<gray>Statistique: <yellow>{stat_name}"
            - "<gray>Valeur: <yellow>{stat_value}"
        B:
          slot: 21
          material: "PAPER"
          custom_model_data: 3
          name_available: "<green>Rang B"
          name_locked: "<red>Rang B (Verrouillé)"
          name_selected: "<gold>Rang B (Sélectionné)"
          lore:
            - "<gray>Statistique: <yellow>{stat_name}"
            - "<gray>Valeur: <yellow>{stat_value}"
        A:
          slot: 22
          material: "PAPER"
          custom_model_data: 4
          name_available: "<green>Rang A"
          name_locked: "<red>Rang A (Verrouillé)"
          name_selected: "<gold>Rang A (Sélectionné)"
          lore:
            - "<gray>Statistique: <yellow>{stat_name}"
            - "<gray>Valeur: <yellow>{stat_value}"
        S:
          slot: 23
          material: "PAPER"
          custom_model_data: 5
          name_available: "<green>Rang S"
          name_locked: "<red>Rang S (Verrouillé)"
          name_selected: "<gold>Rang S (Sélectionné)"
          lore:
            - "<gray>Statistique: <yellow>{stat_name}"
            - "<gray>Valeur: <yellow>{stat_value}"

```

{% endcode %}

{% code title="statistics.yml" lineNumbers="true" expandable="true" %}

```yaml
# =====================================================
# FoxPets - Statistics Configuration
# =====================================================
# Ce fichier définit toutes les statistiques disponibles pour les pets
# Chaque statistique peut être assignée à un rang de pet dans config.yml

# Format d'affichage des statistiques dans la lore
display:
  # Format pour une stat débloquée
  unlocked_format: "<gray>{rank}: <yellow>{stat_name} {value}"
  # Format pour une stat verrouillée
  locked_format: "<gray>{rank}: <dark_gray>[Verrouillé]"
  # Séparateur entre les stats dans la lore
  separator: ""
  # En-tête avant la liste des stats
  header: "<gold><bold>⚡ Statistiques:"
  # Pied de page après la liste des stats
  footer: ""

# Définitions des statistiques disponibles
statistics:
  # Augmentation de l'XP d'aventure (AuroraLevels)
  adventure_xp_boost:
    display_name: "Bonus XP d'Aventure"
    description: "Augmente l'XP d'aventure obtenue"
    boost_type: "percentage"  # flat ou percentage
    category: "progression"

  # Réduction du temps de fabrication (EpicCraftingsPlus)
  crafting_speed_boost:
    display_name: "Vitesse de Craft"
    description: "Réduit le temps de fabrication des crafts customs"
    boost_type: "percentage"  # flat ou percentage
    category: "crafting"

  # Boost prix de vente au shop (EconomyShopGUI)
  economy_sell_boost:
    display_name: "Prix de Vente ({target})"
    description: "Augmente le prix de vente des items au shop"
    boost_type: "percentage"
    category: "economy"

  # Boost prix de vente au shop (ShopGUIPlus)
  shop_sell_boost:
    display_name: "Prix de Vente ({target})"
    description: "Augmente le prix de vente des items au shop"
    boost_type: "percentage"
    category: "economy"

  # Boost XP de Job (FoxJobs)
  job_exp_boost:
    display_name: "XP de Job ({job})"
    description: "Augmente l'XP gagnée dans les jobs"
    boost_type: "percentage"
    category: "progression"

  # Chance de ne pas perdre d'XP à l'enchantement (Vanilla)
  enchant_no_xp_loss:
    display_name: "Économie d'XP Enchant"
    description: "Chance de ne pas consommer d'XP lors d'un enchantement"
    boost_type: "percentage"
    category: "magic"

  # Chance d'annuler les dégâts de chute (Vanilla)
  fall_damage_immunity:
    display_name: "Immunité Chute"
    description: "Chance d'annuler les dégâts de chute"
    boost_type: "percentage"
    category: "defense"

  # Bonus de vie (Vanilla)
  health_boost:
    display_name: "Bonus de Vie"
    description: "Ajoute des cœurs supplémentaires"
    boost_type: "flat"
    category: "defense"

  # Réduction du temps de récompense AFK (AxAFKZone)
  afk_zone_reward_reduction:
    display_name: "Réduction Temps AFK ({target})"
    description: "Réduit le temps nécessaire pour obtenir une récompense AFK"
    boost_type: "percentage"
    category: "utility"

  # Chance de relancer une caisse (CrazyCrates)
  crazy_crates_reroll_chance:
    display_name: "Chance Reroll Caisse ({target})"
    description: "Chance de pouvoir relancer une caisse ouverte"
    boost_type: "percentage"
    category: "luck"

  # Boost prix de vente spawner (VirtualSpawner)
  virtual_spawner_sell_boost:
    display_name: "Prix de Vente Spawner"
    description: "Augmente le prix de vente des items du spawner"
    boost_type: "percentage"
    category: "economy"

  # Boost drop mythic mobs (MythicMobs)
  mythic_mob_drop_boost:
    display_name: "Double Drop ({target})"
    description: "Chance de doubler les drops des mobs mythiques"
    boost_type: "percentage"
    category: "luck"
```

{% endcode %}

{% code title="messages.yml" lineNumbers="true" expandable="true" %}

```yaml
# Messages for commands
commands:
  player-only: "<red>Cette commande ne peut être exécutée que par un joueur!"
  no-permission: "<red>Vous n'avez pas la permission d'utiliser cette commande!"
  player-offline: "<red>Le joueur {player} n'est pas connecté!"
  unknown-subcommand: "<red>Sous-commande inconnue!"

  give:
    usage: "<red>Usage: /pets give <pet_id> <player>"
    sender: "<green>Vous avez donné le familier {pet_name} <green>à {player}!"
    receiver: "<green>Vous avez reçu le familier {pet_name} <green>!"
    error: "<red>Erreur lors de l'attribution du familier: {error}"

  foodgive:
    usage: "<red>Usage: /pets foodgive <player> <rank> [amount]"
    invalid-rank: "<red>Rank invalide! Utilisez: D, C, B ou A"
    invalid-amount: "<red>Le montant doit être un nombre!"
    sender: "<green>Vous avez donné {amount} nourriture de rang {rank} à {player}!"
    receiver: "<green>Vous avez reçu {amount} nourriture de rang {rank}!"

  egg:
    usage: "<red>Usage: /pets egg <player> <egg_type>"
    not-exists: "<red>Le type d'œuf '{egg_type}' n'existe pas!"

  reload:
    success: "<green>Configuration rechargée avec succès!"

# Messages for pets
pet:
  not-exists: "<red>Ce familier n'existe pas!"
  not-owned: "<red>Vous ne possédez pas ce familier!"
  no-active-pet: "<red>Vous n'avez pas de familier actif."
  activated: "<green>Vous avez activé votre familier {pet_name} <green>!"
  deactivated: "<green>Votre familier a été désactivé."
  deactivated-named: "<green>Votre familier {pet_name} <green>a été désactivé."
  deactivate-before-retrieve: "<red>Vous devez d'abord désactiver ce familier avant de le récupérer."
  retrieved: "<green>Vous avez récupéré votre familier {pet_name} <green>sous forme d'objet."

  # Legacy messages (kept for backward compatibility)
  withdrawn: "<green>Vous avez retiré {pet} {rank}<green>! Il est maintenant dans votre inventaire."
  received: "<green>Vous avez obtenu {pet} {rank}<green>!"
  already_owned: "<red>Vous possédez déjà ce familier!"
  not_found: "<red>Ce familier n'existe plus!"
  limit_reached: "<red>Vous avez atteint la limite de {limit} familiers stockables!"

# Messages for menus
menu:
  pet:
    active: "<green>Actuellement Actif"
    click-deactivate: "<gray>Clic gauche pour désactiver"
    click-spawn: "<gray>Clic gauche pour activer"

  egg:
    active: "<green>Actuellement Actif"
    click-deactivate: "<gray>Clic gauche pour désactiver"
    click-spawn: "<gray>Clic gauche pour faire apparaître"

  eggs:
    no-eggs:
      title: "<red>Aucun Œuf"
      description: "<gray>Vous n'avez aucun œuf pour le moment"

# PvP Protection messages
pvp:
  combat-message: "<red>You cannot open this menu while in combat! ({time}s remaining)"

# Ranking messages
ranking:
  rank-up: "<green>{pet} est maintenant rang {rank}!"
  wrong-food: "<red>Ce familier nécessite de la nourriture rang {required_rank}!"
  max-rank: "<red>Ce familier est déjà au rang maximum (S)!"

# Egg messages
egg:
  received: "<green>Vous avez reçu un {egg_name}<green>!"
  given: "<green>Vous avez donné un {egg_name} <green>à {player}!"
  added: "<green>Un {egg_name} <green>a été ajouté à votre collection!"
  spawned: "<green>Votre {egg_name} <green>est apparu!"
  despawned: "<green>Votre œuf a été retiré."
  hatched: "<green><bold>Votre œuf a éclos! Faites /pets pour découvrir votre nouveau familier!"

# Economy messages
economy:
  sell-boost-applied: "<green>Bonus de vente appliqué! (+{amount}$)"

# Virtual Spawner messages
virtual_spawner:
  sell-boost-applied: "<green>Bonus de vente spawner appliqué! (+{amount}$)"

# Mythic Mobs messages
mythic_mobs:
  drop-boost-applied: "<green>Votre familier a doublé les drops du monstre!"

# Job messages
job:
  exp-boost-applied: "<green>Bonus d'XP Job appliqué! (+{boost}%)"

# Statistics messages
statistics:
  enchant-saved: "<green>Votre familier a préservé votre XP lors de l'enchantement!"
  fall-damage-prevented: "<green>Votre familier a amorti votre chute!"
  afk-time-reduced: "<green>Votre familier a réduit votre temps AFK de {seconds}s!"
  crate-reroll-available: "<green>Votre familier vous offre une chance de relancer votre caisse!"

# Error messages
error:
  data-load-failed: "<red>Erreur lors du chargement de vos données. Veuillez réessayer."
  inventory_full: "<red>Votre inventaire est plein!"

# Reroll messages
reroll:
  invalid-sacrifice: "<red>Sacrifice invalide! Vous devez utiliser un familier du même type et du même rang ou des parchemins."
  not-enough-scrolls: "<red>Pas assez de parchemins! Il en faut {amount}."
  inventory-full: "<red>Inventaire plein! Les objets ont été déposés au sol."
  success: "<green>Reroll effectué avec succès!"
  give-usage: "<red>Usage: /pets give reroll-item <player> <amount>"
  give-success: "<green>Vous avez donné {amount} parchemins de reroll à {player}."
  give-received: "<green>Vous avez reçu {amount} parchemins de reroll."

```

{% endcode %}

***
