# Référence de la configuration

Cette page documente chaque clé du fichier `config.yml` de Verité. Les valeurs par défaut affichées sont celles avec lesquelles Verité est livré. Les clés de configuration, les valeurs et le code apparaissent exactement tels qu’ils sont écrits dans le fichier (ASCII), tandis que la prose utilise le nom accentué Verité.

La configuration de Verité est regroupée en modules :

- `general` : les paramètres à l’échelle du plugin.
- `chat.filter` : le filtre de chat, Veritédoux.
- `moderation` : le système de modération, Veritésauver.
- `invsee` : la consultation d’inventaire.
- `vanish` : le système d’invisibilité, Veritévoiler.

!!! note "Modifier les flags dans le jeu"
    Beaucoup de ces clés peuvent être lues et modifiées depuis le jeu avec `/verite config`, qui corrige la clé unique sur le disque et conserve tous les commentaires du fichier. Cette commande est protégée par la permission `veritedoux.flag`. Toutes les clés vrai ou faux et toutes les clés numériques de `config.yml` peuvent être modifiées ainsi, avec leur nom court ou leur chemin complet en points. Les clés de texte libre, les listes de l’arbre de sanctions et `config.language` ne sont pas modifiables ainsi ; changez-les dans le fichier ou depuis le tableau de bord web. Lancez `/verite config` sans argument pour lister toutes les clés modifiables. La plupart des modifications s’appliquent en direct ; les interrupteurs de module (`chat.filter.enabled`, `moderation.enabled`, `vanish.enabled`) et les deux flags de mise à jour automatique nécessitent un redémarrage pour prendre effet.

## General

La section `general` contient les paramètres à l’échelle du plugin.

```yaml
general:
  prefix: "<#808080>[<#B1C7F0>Verité<#808080>]<reset>"
  auto.update.config: true
  dashboard.url: "https://verite.gg"
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `general.prefix` | `<#808080>[<#B1C7F0>Verité<#808080>]<reset>` | Le préfixe public affiché sur chaque message de Verité, au format de balises Verite. |
| `general.auto.update.config` | `true` | Ajoute automatiquement les nouvelles clés à la configuration lorsque le plugin se met à jour. N’outrepasse pas les mises à jour du tokenizer. Modifiable avec `/verite config` sous `auto.update.config`, mais nécessite un redémarrage pour s’appliquer. |
| `general.dashboard.url` | `https://verite.gg` | Où `/verite dashboard` vous envoie. À ne changer que si vous hébergez le [Tableau de bord](page:web-dashboard) vous-même. |
| `config.language` | `en` | La langue dans laquelle fonctionne tout le plugin. L’une de `en`, `es`, `fr`, `it`, `pt` ou `de`. La modifier nécessite un redémarrage complet, et non un rechargement. |

## Filtre de chat (Veritédoux)

La section `chat.filter` configure le filtrage des messages.

```yaml
chat.filter:
  enabled: true
  auto.update.eve: false
  block.message: "@prefix Your message wasn't sent. Please keep chat friendly."
  repeat.message: "@prefix You've already sent that message. Please wait a moment before repeating yourself."
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `chat.filter.enabled` | `true` | Active le module de filtre de chat. Modifiable avec `/verite config` sous `chat.filter.enabled`, mais nécessite un redémarrage pour s’appliquer. |
| `chat.filter.auto.update.eve` | `false` | Met automatiquement à jour les fichiers de configuration `.eve` lorsque de nouvelles entrées sont ajoutées. Lorsqu’activée, les entrées personnalisées sont écrasées ou supprimées lorsque les fichiers `.eve` sont remplacés par des versions à jour. Modifiable avec `/verite config` sous `auto.update.eve`, mais nécessite un redémarrage pour s’appliquer. |
| `chat.filter.block.message` | `@prefix Your message wasn't sent. Please keep chat friendly.` | L’avis affiché lorsqu’un message est bloqué par le filtre. Prend en charge les codes `&` et l’hexadécimal `&#RRGGBB`. Utilisez `@prefix` pour insérer le préfixe que vous avez choisi. |
| `chat.filter.repeat.message` | `@prefix You've already sent that message. Please wait a moment before repeating yourself.` | L’avis affiché lorsqu’un message est bloqué en tant que répétition. Prend en charge les codes `&`, l’hexadécimal `&#RRGGBB` et `@prefix`. |

!!! note "Message d’automutilation"
    Le message de blocage d’automutilation ne peut pas être modifié. Cela garantit que les utilisateurs reçoivent toujours les conseils et le soutien appropriés face à un contenu lié à l’automutilation.

### Langues

Le bloc `chat.filter.general.lang` choisit quelles langues sont analysées pour leur contenu et quelles catégories de détection s’exécutent pour chacune. La détection des grossièretés est désactivée par défaut afin que les serveurs qui autorisent les jurons occasionnels ne soient pas affectés. Ajustez-les pour correspondre à la tolérance de votre serveur.

Chaque bloc de langue prend en charge ces clés :

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `allowed` | `true` | Si la langue est autorisée dans le chat. |
| `self.harm.detection` | `true` | Détecte le contenu lié à l’automutilation dans cette langue. |
| `abuse.detection` | `true` | Détecte le contenu abusif dans cette langue. |
| `slur.detection` | `true` | Détecte les insultes dans cette langue. |

Les clés de grossièretés sont propres à chaque langue. Chacune est `false` par défaut. Réglez-en une sur `true` pour signaler les grossièretés de ce dialecte ou de cette région.

| Langue | Clés de grossièretés (toutes `false` par défaut) |
| --- | --- |
| `english` | `profanity.global` |
| `spanish` | `profanity.spain`, `profanity.argentinian`, `profanity.chilean`, `profanity.colombian`, `profanity.mexican`, `profanity.peruvian`, `profanity.venezuelan`, `profanity.uruguayan`, `profanity.cuban`, `profanity.dominican`, `profanity.panamanian`, `profanity.global` |
| `french` | `profanity.france`, `profanity.canadian` |
| `portuguese` | `profanity.european`, `profanity.brazilian` |
| `german` | `profanity.global` |
| `italian` | `profanity.global` |

Deux entrées supplémentaires couvrent le texte dont la langue n’a pas pu être déterminée :

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `chat.filter.general.lang.unknown.lang.allowed` | `true` | Si les messages dans une langue que Verité ne reconnaît pas sont autorisés. |
| `chat.filter.general.lang.undeterminable.allowed` | `true` | Si les messages dont la langue ne peut pas être déterminée sont autorisés. |

Un exemple de bloc de langue :

```yaml
chat.filter:
  general.lang:
    english:
      allowed: true
      self.harm.detection: true
      abuse.detection: true
      slur.detection: true
      profanity.global: false
```

### Avancé

Le bloc `chat.filter.advanced` contient le réglage de la lisibilité, du spam et de la détection des répétitions.

```yaml
chat.filter:
  advanced:
    keep.chat.readable: false
    block.possible.spam: false
    block.repeat.messages: false
    block.repeat.exact: true
    block.repeat.near: true
    block.repeat.history.size: 5
    block.repeat.window.ms: 5000
    block.repeat.similarity.threshold: 0.85
    block.unsupported.languages: false
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `keep.chat.readable` | `false` | Bloque les messages susceptibles de rendre le chat illisible, comme les substitutions de polices fantaisistes, même lorsque le message passerait autrement le filtre. Les emojis ne sont pas bloqués. Modifiable avec `/verite config` sous `keep.chat.readable`. |
| `block.possible.spam` | `false` | Utilise le tokenizer de Verité pour détecter et bloquer le spam et les publicités potentiels. Modifiable avec `/verite config` sous `block.possible.spam`. |
| `block.repeat.messages` | `false` | Active la détection des messages répétés. Chaque clé ci-dessous ne s’applique que lorsqu’elle est activée. |
| `block.repeat.exact` | `true` | Bloque un message identique à un message récent du même utilisateur. La comparaison ignore la casse, les accents et les lettres répétées, de sorte que `HELLO`, `hello` et `helllo` comptent tous comme le même message. |
| `block.repeat.near` | `true` | Bloque un message similaire (mais non identique) à un message récent du même utilisateur. Le degré de similarité qui compte comme correspondance est défini par `block.repeat.similarity.threshold`. |
| `block.repeat.history.size` | `5` | Combien des messages les plus récents de chaque utilisateur sont mémorisés et vérifiés pour les répétitions. Réglez sur `-1` pour mémoriser tous les messages, ou `0` pour désactiver entièrement la détection des répétitions. |
| `block.repeat.window.ms` | `5000` | Jusqu’à quel point dans le passé (en millisecondes) un message mémorisé compte encore comme une répétition. Les messages plus anciens sont ignorés. Réglez sur `-1` pour ignorer le temps et mémoriser les messages indéfiniment, ou `0` pour désactiver entièrement la détection des répétitions. |
| `block.repeat.similarity.threshold` | `0.85` | Pour la correspondance de quasi-répétition, à quel point deux messages doivent se ressembler pour compter comme une répétition. Une valeur entre `0` et `1`, où `1` signifie identique. Plus la valeur est élevée, plus c’est strict (moins de blocages) ; plus elle est basse, plus c’est agressif. |
| `block.unsupported.languages` | `false` | Bloque les langues que Verité ne prend pas encore en charge. Les langues prises en charge sont l’anglais, l’espagnol, le français, l’italien, le portugais et l’allemand. Toutes les autres langues sont bloquées lorsque ceci est activé. Modifiable avec `/verite config` sous `block.unsupported.languages`. |

### Pondérations de détection des langues

Le bloc `chat.filter.advanced.language` règle la manière dont Verité attribue une langue à chaque mot d’un message.

```yaml
chat.filter:
  advanced:
    language:
      known.word.weight: 50
      unknown.word.weight: 0.1
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `known.word.weight` | `50` | Pondération pour un mot que le dictionnaire d’une langue connaît mais que la table de taux ne liste pas. Plus la valeur est élevée, plus l’appartenance au dictionnaire compte. |
| `unknown.word.weight` | `0.1` | Pondération plancher pour un mot qu’aucun dictionnaire ne connaît et que la table de taux omet. |

### Passes d’évitement

Le bloc `chat.filter.advanced.evasion` active ou désactive les passes qui annulent les tentatives de faire passer du contenu à travers le filtre. Chacune est `true` par défaut. Désactiver des passes peut réduire légèrement la latence.

```yaml
chat.filter:
  advanced:
    evasion:
      homoglyph: true
      entity: true
      deobfuscate: true
      segmentation: true
      fingerprint: true
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `homoglyph` | `true` | Ramène en ASCII les usurpations de lettres pleine largeur, cyrilliques et en gras mathématique. Modifiable avec `/verite config` sous `evasion.homoglyph`. |
| `entity` | `true` | Supprime les entités HTML et les encodages similaires. Modifiable avec `/verite config` sous `evasion.entity`. |
| `deobfuscate` | `true` | Inverse l’obfuscation par insertion de caractères et par espacement. Modifiable avec `/verite config` sous `evasion.deobfuscate`. |
| `segmentation` | `true` | Sépare les mots accolés en mots distincts. Modifiable avec `/verite config` sous `evasion.segmentation`. |
| `fingerprint` | `true` | Attrape les orthographes transposées. Modifiable avec `/verite config` sous `evasion.fingerprint`. |

### Confiance des grossièretés

Le bloc `chat.filter.advanced.use.profanity.confidence` fixe la confiance minimale avant qu’un message soit traité comme grossier.

```yaml
chat.filter:
  advanced:
    use.profanity.confidence:
      enabled: true
      profanity.confidence.threshold: 0.30
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `enabled` | `true` | Active le seuil de confiance des grossièretés. Modifiable avec `/verite config` sous `use.profanity.confidence.enabled`. |
| `profanity.confidence.threshold` | `0.30` | La confiance minimale requise pour considérer un message comme grossier. Modifiable avec `/verite config` sous `use.profanity.confidence.profanity.confidence.threshold`. |

## Modération (Veritésauver)

La section `moderation` configure le système de modération.

```yaml
moderation:
  enabled: true
  use.rank.weights: true
  auto.ban.alts: false
  expire.warns.after: 7d
  shared.ip.scan.limit: 20
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `moderation.enabled` | `true` | Active le module de modération. Modifiable avec `/verite config` sous `moderation.enabled`, mais nécessite un redémarrage pour s’appliquer. |
| `moderation.use.rank.weights` | `true` | Compare le poids de groupe LuckPerms afin que le personnel ne puisse pas sanctionner des rangs égaux ou supérieurs. Les opérateurs sont toujours traités comme le rang le plus élevé, quel que soit le poids LuckPerms. |
| `moderation.auto.ban.alts` | `false` | Bannit automatiquement les alts d’un joueur banni, que le joueur ait été banni par IP ou non. Déconseillé sur les serveurs qui partagent des adresses IP entre des utilisateurs distincts. Modifiable avec `/verite config` sous `moderation.auto.ban.alts`. |
| `moderation.expire.warns.after` | `7d` | Combien de temps un avertissement compte comme actif avant de se périmer. |
| `moderation.shared.ip.scan.limit` | `20` | Le nombre maximal de comptes affichés dans un balayage d’IP dupliquées. Modifiable avec `/verite config` sous `moderation.shared.ip.scan.limit`. |

### Liste noire de commandes pour les joueurs réduits au silence

`moderation.muted.command.blacklist` liste les commandes qu’un joueur réduit au silence ne peut pas utiliser.

!!! note "Injection par proxy"
    Sur un réseau avec injection par proxy, ces commandes peuvent ne pas être bloquées par Verité, ce qui signifie qu’un utilisateur réduit au silence pourrait tout de même les utiliser.

La liste livrée est :

```yaml
moderation:
  muted.command.blacklist:
    - "me"
    - "say"
    - "tell"
    - "whisper"
    - "reply"
    - "pm"
    - "message"
    - "msg"
    - "msgall"
    - "tellall"
    - "speak"
    - "emsg"
    - "epm"
    - "etell"
    - "ewhisper"
    - "w"
    - "m"
    - "t"
    - "r"
    - "mail"
```

### Exempt

Le bloc `moderation.exempt` contrôle la manière dont les comparaisons de poids de rang traitent les cibles de poids égal.

```yaml
moderation:
  exempt:
    use.group.weights: false
    permit.same.weight: true
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `use.group.weights` | `false` | Autorise d’agir sur une cible de poids égal lorsque les poids de groupe sont utilisés. Modifiable avec `/verite config` sous `moderation.exempt.use.group.weights`. |
| `permit.same.weight` | `true` | Permet d’agir sur une cible de même poids. Modifiable avec `/verite config` sous `moderation.exempt.permit.same.weight`. |

### Modèles de messages de sanction

`moderation.punish.message.templates` définit le texte affiché aux joueurs sanctionnés et au personnel. Les modèles prennent en charge `\n` (retour à la ligne) et les quantificateurs `@duration`, `@enforcer`, `@target`, `@reason`, `@punishment`, `@total.warns` et `@remaining`. Si aucune raison n’a été définie, `@reason` est remplacé par `No reason provided.`

```yaml
moderation:
  punish.message.templates:
    ban.template.temporary: {You have been banned for @duration.\n@reason}
    ban.template.permanent: {You have been permanently banned.\n@reason}
    mute.template.temporary: {You have been muted by @enforcer for @duration.\n@reason}
    mute.template.permanent: {You have been muted by @enforcer.\n@reason}
    mute.notice: {You are muted. Time remaining: @remaining}
    mute.notice.permanent: {You are muted.}
    warn.template: {You have been warned by @enforcer. Active warnings: @total.warns\n@reason}
    kick.template: {You have been kicked by @enforcer.\n@reason}
    admin.receipt.template: {@target was @punishment by @enforcer.\n@reason}
```

| Clé | Défaut |
| --- | --- |
| `ban.template.temporary` | `{You have been banned for @duration.\n@reason}` |
| `ban.template.permanent` | `{You have been permanently banned.\n@reason}` |
| `mute.template.temporary` | `{You have been muted by @enforcer for @duration.\n@reason}` |
| `mute.template.permanent` | `{You have been muted by @enforcer.\n@reason}` |
| `mute.notice` | `{You are muted. Time remaining: @remaining}` |
| `mute.notice.permanent` | `{You are muted.}` |
| `warn.template` | `{You have been warned by @enforcer. Active warnings: @total.warns\n@reason}` |
| `kick.template` | `{You have been kicked by @enforcer.\n@reason}` |
| `admin.receipt.template` | `{@target was @punishment by @enforcer.\n@reason}` |

### Arbre de sanctions

Le bloc `moderation.tree` définit les catégories de sanctions, les étapes d’escalade au sein de chaque catégorie, et quels groupes de personnel peuvent appliquer quelles catégories. Chaque catégorie applique ses sanctions dans l’ordre. Les types de sanction pris en charge sont `warn`, `mute`, `kick` et `ban`. Une durée après un deux-points (par exemple `ban: 14d`) rend cette étape temporaire ; le même type sans durée est permanent. La dernière entrée `minecraft:` de chaque catégorie est l’objet affiché pour cette catégorie dans l’interface de sanction.

```yaml
moderation:
  tree:
    enabled: true
    use.fields: true
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `moderation.tree.enabled` | `true` | Active l’arbre de sanctions. |
| `moderation.use.fields` | `true` | Utilise les Fields de Minecraft 1.21.7+ pour la saisie de sanction plutôt que le chat. |

#### Permissions

`moderation.tree.permissions.luckperms` associe les noms de groupes LuckPerms aux catégories qu’ils peuvent appliquer. La hiérarchie est prise en charge de haut en bas : si vos groupes vont de `helper` puis `mod` puis `admin`, `admin` hérite des catégories de `mod` et `helper`, et `mod` hérite des catégories de `helper`. Remplacez les noms de groupes par les vôtres.

```yaml
moderation:
  tree:
    permissions:
      luckperms:
        helper: {harassment, threats, spam, advertising, macroing, misinformation, inappropriate.content}
        mod: {exploiting, discrimination, impersonation}
        admin: {hacking, fraud, evading.punishment, inappropriate.username, inappropriate.skin, griefing}
```

| Groupe | Catégories accordées |
| --- | --- |
| `helper` | `harassment`, `threats`, `spam`, `advertising`, `macroing`, `misinformation`, `inappropriate.content` |
| `mod` | `exploiting`, `discrimination`, `impersonation` |
| `admin` | `hacking`, `fraud`, `evading.punishment`, `inappropriate.username`, `inappropriate.skin`, `griefing` |

#### Catégories

`moderation.tree.categories` liste chaque catégorie et ses étapes d’escalade ordonnées.

```yaml
moderation:
  tree:
    categories:
      harassment: {kick, ban: 14d, ban, minecraft:nether_star}
      threats: {mute: 5h, ban: 14d, ban, minecraft:tnt}
      spam: {warn, mute: 10m, mute: 1h, ban: 3d, ban, minecraft:cactus}
      advertising: {mute: 1d, ban: 3d, ban, minecraft:redstone_block}
      macroing: {warn, kick, ban: 7d, ban: 31d, ban, minecraft:redstone_torch}
      misinformation: {warn, mute: 20m, mute: 1h, ban: 3d, ban, minecraft:paper}
      inappropriate.content: {warn, mute: 1h, mute: 7h, ban: 7d, ban, minecraft:book}
      exploiting: {warn, warn, warn, ban: 2d, ban, minecraft:lever}
      discrimination: {ban: 31d, ban, minecraft:iron_sword}
      impersonation: {ban: 7d, ban, minecraft:player_head}
      hacking: {ban: 31d, ban, minecraft:diamond_sword}
      fraud: {ban: 31d, ban, minecraft:gold_ingot}
      evading.punishment: {ban: 31d, ban, minecraft:ender_pearl}
      inappropriate.username: {ban, minecraft:name_tag}
      inappropriate.skin: {ban, minecraft:leather_chestplate}
      griefing: {ban: 7d, ban, minecraft:stone_pickaxe}
      staff.disruption: {warn, kick, ban: 7d, minecraft:bottle_o_enchanting}
      chat.violation: {warn, mute: 1h, ban: 3d, minecraft:book_and_quill}
```

| Catégorie | Étapes d’escalade | Objet de l’interface |
| --- | --- | --- |
| `harassment` | `kick`, `ban: 14d`, `ban` | `minecraft:nether_star` |
| `threats` | `mute: 5h`, `ban: 14d`, `ban` | `minecraft:tnt` |
| `spam` | `warn`, `mute: 10m`, `mute: 1h`, `ban: 3d`, `ban` | `minecraft:cactus` |
| `advertising` | `mute: 1d`, `ban: 3d`, `ban` | `minecraft:redstone_block` |
| `macroing` | `warn`, `kick`, `ban: 7d`, `ban: 31d`, `ban` | `minecraft:redstone_torch` |
| `misinformation` | `warn`, `mute: 20m`, `mute: 1h`, `ban: 3d`, `ban` | `minecraft:paper` |
| `inappropriate.content` | `warn`, `mute: 1h`, `mute: 7h`, `ban: 7d`, `ban` | `minecraft:book` |
| `exploiting` | `warn`, `warn`, `warn`, `ban: 2d`, `ban` | `minecraft:lever` |
| `discrimination` | `ban: 31d`, `ban` | `minecraft:iron_sword` |
| `impersonation` | `ban: 7d`, `ban` | `minecraft:player_head` |
| `hacking` | `ban: 31d`, `ban` | `minecraft:diamond_sword` |
| `fraud` | `ban: 31d`, `ban` | `minecraft:gold_ingot` |
| `evading.punishment` | `ban: 31d`, `ban` | `minecraft:ender_pearl` |
| `inappropriate.username` | `ban` | `minecraft:name_tag` |
| `inappropriate.skin` | `ban` | `minecraft:leather_chestplate` |
| `griefing` | `ban: 7d`, `ban` | `minecraft:stone_pickaxe` |
| `staff.disruption` | `warn`, `kick`, `ban: 7d` | `minecraft:bottle_o_enchanting` |
| `chat.violation` | `warn`, `mute: 1h`, `ban: 3d` | `minecraft:book_and_quill` |

## Invsee

La section `invsee` contrôle la consultation d’inventaire.

```yaml
invsee:
  enable-offline-player-support: true
  enable-unknown-player-support: true
  tabcomplete-offline-players: true
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `invsee.enable-offline-player-support` | `true` | Autorise la consultation de l’inventaire des joueurs hors ligne. |
| `invsee.enable-unknown-player-support` | `true` | Autorise la consultation de l’inventaire des joueurs jamais vus auparavant. |
| `invsee.tabcomplete-offline-players` | `true` | Inclut les joueurs hors ligne dans l’autocomplétion. |

## Vanish (Veritévoiler)

La section `vanish` configure le système d’invisibilité. Le bloc `vanish.features` active ou désactive des comportements individuels, chacun `true` par défaut. Chaque clé de fonctionnalité est modifiable avec `/verite config` sous `vanish.features.<name>`.

```yaml
vanish:
  enabled: true
  features:
    fake.message: true
    actionbar: true
    self.view: true
    fly: true
    invulnerability: true
    effects: true
    gamemode: true
    ride.entity: true
    silent.container: true
    inventory.inspect: true
    server.ping: true
    ghost: true
    prevent.chat: true
    prevent.pickup: true
    prevent.drop: true
    prevent.interact: true
    prevent.block.break: true
    prevent.block.place: true
    prevent.target: true
    prevent.damage: true
    prevent.food: true
    prevent.buckets: true
    prevent.advancement: true
    prevent.projectiles: true
    muffle.sounds: true
    muffle.particles: true
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `vanish.enabled` | `true` | Active le module d’invisibilité. Modifiable avec `/verite config` sous `vanish.enabled`, mais nécessite un redémarrage pour s’appliquer. |
| `vanish.features.fake.message` | `true` | Affiche un faux message d’arrivée ou de départ lors de l’invisibilité ou du retour à la visibilité. |
| `vanish.features.actionbar` | `true` | Affiche un rappel persistant dans la barre d’action pendant l’invisibilité. |
| `vanish.features.self.view` | `true` | Permet au joueur invisible de se voir encore lui-même. |
| `vanish.features.fly` | `true` | Accorde le vol pendant l’invisibilité. |
| `vanish.features.invulnerability` | `true` | Rend le joueur invisible invulnérable. |
| `vanish.features.effects` | `true` | Applique les effets de potion liés à l’invisibilité. |
| `vanish.features.gamemode` | `true` | Gère le mode de jeu du joueur pendant l’invisibilité. |
| `vanish.features.ride.entity` | `true` | Permet au joueur invisible de chevaucher des entités. |
| `vanish.features.silent.container` | `true` | Ouvre les conteneurs silencieusement pendant l’invisibilité. |
| `vanish.features.inventory.inspect` | `true` | Permet d’inspecter les inventaires pendant l’invisibilité. |
| `vanish.features.server.ping` | `true` | Ajuste la contribution du joueur à la liste de ping du serveur pendant l’invisibilité. |
| `vanish.features.ghost` | `true` | Cache le joueur invisible sous forme de fantôme afin qu’il passe inaperçu. |
| `vanish.features.prevent.chat` | `true` | Empêche le joueur invisible d’envoyer des messages. |
| `vanish.features.prevent.pickup` | `true` | Empêche le joueur invisible de ramasser des objets. |
| `vanish.features.prevent.drop` | `true` | Empêche le joueur invisible de jeter des objets. |
| `vanish.features.prevent.interact` | `true` | Empêche le joueur invisible d’interagir avec le monde. |
| `vanish.features.prevent.block.break` | `true` | Empêche le joueur invisible de casser des blocs. |
| `vanish.features.prevent.block.place` | `true` | Empêche le joueur invisible de poser des blocs. |
| `vanish.features.prevent.target` | `true` | Empêche les monstres de cibler le joueur invisible. |
| `vanish.features.prevent.damage` | `true` | Empêche le joueur invisible d’infliger ou de subir des dégâts. |
| `vanish.features.prevent.food` | `true` | Empêche le niveau de faim du joueur invisible de changer. |
| `vanish.features.prevent.buckets` | `true` | Empêche le joueur invisible d’utiliser des seaux. |
| `vanish.features.prevent.advancement` | `true` | Empêche le joueur invisible d’obtenir des progrès. |
| `vanish.features.prevent.projectiles` | `true` | Empêche le joueur invisible de lancer des projectiles. |
| `vanish.features.muffle.sounds` | `true` | Étouffe les sons que le joueur invisible produirait autrement. |
| `vanish.features.muffle.particles` | `true` | Étouffe les particules que le joueur invisible produirait autrement. |

## Fausse connexion et déconnexion

La section `fake.connect` configure les commandes `/fakejoin` et `/fakeleave`, qui diffusent un faux message de connexion sans que personne ne se connecte ni ne se déconnecte réellement.

```yaml
fake.connect:
  enabled: true
  join.message: "&#FFFF55%player% joined the game"
  leave.message: "&#FFFF55%player% left the game"
```

| Clé | Défaut | Contrôle |
| --- | --- | --- |
| `fake.connect.enabled` | `true` | Active ou désactive les commandes `/fakejoin` et `/fakeleave`. Lorsqu’elle est désactivée, les deux commandes refusent poliment. |
| `fake.connect.join.message` | `&#FFFF55%player% joined the game` | Le message diffusé par `/fakejoin`. Prend en charge les codes `&` et l’hexadécimal `&#RRGGBB`. `%player%` est remplacé par le nom du joueur choisi. |
| `fake.connect.leave.message` | `&#FFFF55%player% left the game` | Le message diffusé par `/fakeleave`. Prend en charge les codes `&` et l’hexadécimal `&#RRGGBB`. `%player%` est remplacé par le nom du joueur choisi. |
