# Referência de configuração

Esta página documenta todas as chaves do `config.yml` do Verité. As predefinições mostradas são os valores com que o Verité vem de origem. As chaves de configuração, os valores e o código aparecem exatamente como estão escritos no ficheiro (ASCII), enquanto o texto usa o nome acentuado Verité.

A configuração do Verité está agrupada em módulos:

- `general`: definições de todo o plugin.
- `chat.filter`: o filtro de chat, Veritédoux.
- `moderation`: o sistema de moderação, Veritésauver.
- `invsee`: visualização de inventário.
- `vanish`: o sistema de vanish, Veritévoiler.

!!! note "Editar flags no jogo"
    Muitas destas chaves podem ser lidas e alteradas a partir do jogo com `/verite config`, que corrige a chave individual no disco e mantém todos os comentários do ficheiro. Este comando está protegido pela permissão `veritedoux.flag`. Todas as chaves verdadeiro ou falso e todas as chaves numéricas em `config.yml` podem ser editadas assim, usando o nome curto ou o caminho completo com pontos. As chaves de texto livre, as listas da árvore de sanções e `config.language` não são editáveis assim; altere-as no ficheiro ou a partir do painel web. Execute `/verite config` sem argumentos para listar todas as chaves editáveis. A maioria das edições aplica-se em tempo real; as portas dos módulos (`chat.filter.enabled`, `moderation.enabled`, `vanish.enabled`) e as duas flags de atualização automática requerem um reinício para produzir efeito.

## General

A secção `general` contém as definições de todo o plugin.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `general.prefix` | `<#808080>[<#B1C7F0>Verité<#808080>]<reset>` | O prefixo visível ao público em todas as mensagens do Verité, no formato de etiquetas do Verite. |
| `general.auto.update.config` | `true` | Acrescenta automaticamente novas chaves à configuração quando o plugin é atualizado. Não ignora as atualizações do tokenizer. Editável com `/verite config` como `auto.update.config`, mas requer um reinício para aplicar. |
| `general.dashboard.url` | `https://verite.gg` | Para onde o `/verite dashboard` te envia. Só o alteres se alojares o [Painel](page:web-dashboard) por tua conta. |
| `config.language` | `en` | O idioma em que todo o plugin funciona. Um de `en`, `es`, `fr`, `it`, `pt` ou `de`. Alterá-lo requer um reinício completo, não um recarregamento. |

## Filtro de chat (Veritédoux)

A secção `chat.filter` configura a filtragem de mensagens.

```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."
```

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `chat.filter.enabled` | `true` | Ativa o módulo de filtro de chat. Editável com `/verite config` como `chat.filter.enabled`, mas requer um reinício para aplicar. |
| `chat.filter.auto.update.eve` | `false` | Atualiza automaticamente os ficheiros de configuração `.eve` quando novas entradas são adicionadas. Quando ativado, as entradas personalizadas são substituídas ou descartadas quando os ficheiros `.eve` são substituídos por versões atualizadas. Editável com `/verite config` como `auto.update.eve`, mas requer um reinício para aplicar. |
| `chat.filter.block.message` | `@prefix Your message wasn't sent. Please keep chat friendly.` | O aviso mostrado quando uma mensagem é bloqueada pelo filtro. Suporta `&`-códigos e `&#RRGGBB` hex. Use `@prefix` para inserir o prefixo escolhido. |
| `chat.filter.repeat.message` | `@prefix You've already sent that message. Please wait a moment before repeating yourself.` | O aviso mostrado quando uma mensagem é bloqueada por ser repetida. Suporta `&`-códigos e `&#RRGGBB` hex, e `@prefix`. |

!!! note "Mensagem de automutilação"
    A mensagem de bloqueio de automutilação não pode ser alterada. Isto garante que os utilizadores recebem sempre a orientação e o apoio adequados ao lidar com conteúdo relacionado com automutilação.

### Idiomas

O bloco `chat.filter.general.lang` escolhe que idiomas têm o conteúdo verificado e que categorias de deteção são executadas para cada um. A deteção de palavrões está desativada por predefinição para que os servidores que permitem palavrões casuais não sejam afetados. Ajuste-as para corresponder à tolerância do seu servidor.

Cada bloco de idioma suporta estas chaves:

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `allowed` | `true` | Se o idioma é permitido no chat. |
| `self.harm.detection` | `true` | Deteta conteúdo relacionado com automutilação neste idioma. |
| `abuse.detection` | `true` | Deteta conteúdo abusivo neste idioma. |
| `slur.detection` | `true` | Deteta insultos neste idioma. |

As chaves de palavrões são por idioma. Cada uma predefine-se para `false`. Defina uma como `true` para sinalizar palavrões desse dialeto ou região.

| Idioma | Chaves de palavrões (todas predefinem `false`) |
| --- | --- |
| `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` |

Duas entradas adicionais cobrem texto cujo idioma não pôde ser resolvido:

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `chat.filter.general.lang.unknown.lang.allowed` | `true` | Se as mensagens num idioma que o Verité não reconhece são permitidas. |
| `chat.filter.general.lang.undeterminable.allowed` | `true` | Se as mensagens cujo idioma não pode ser determinado são permitidas. |

Um exemplo de bloco de idioma:

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

### Avançado

O bloco `chat.filter.advanced` contém os ajustes para legibilidade, spam e deteção de repetições.

```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
```

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `keep.chat.readable` | `false` | Bloqueia mensagens que possam tornar o chat ilegível, como substituições de fontes decorativas, mesmo quando a mensagem passaria de outra forma no filtro. Os emojis não são bloqueados. Editável com `/verite config` como `keep.chat.readable`. |
| `block.possible.spam` | `false` | Utiliza o tokenizer do Verité para detetar e bloquear possível spam e anúncios. Editável com `/verite config` como `block.possible.spam`. |
| `block.repeat.messages` | `false` | Ativa a deteção de mensagens repetidas. Todas as chaves abaixo só se aplicam quando esta estiver ativada. |
| `block.repeat.exact` | `true` | Bloqueia uma mensagem idêntica a uma recente do mesmo utilizador. A comparação ignora maiúsculas, acentos e letras repetidas, por isso `HELLO`, `hello` e `helllo` contam todas como a mesma. |
| `block.repeat.near` | `true` | Bloqueia uma mensagem que seja semelhante (mas não idêntica) a uma recente do mesmo utilizador. O grau de semelhança que conta como correspondência é definido por `block.repeat.similarity.threshold`. |
| `block.repeat.history.size` | `5` | Quantas das mensagens mais recentes de cada utilizador são recordadas e verificadas quanto a repetições. Defina como `-1` para recordar todas as mensagens, ou `0` para desativar totalmente a deteção de repetições. |
| `block.repeat.window.ms` | `5000` | Até que ponto no tempo (milissegundos) uma mensagem recordada ainda conta como repetição. As mensagens mais antigas do que isto são ignoradas. Defina como `-1` para ignorar o tempo e recordar as mensagens indefinidamente, ou `0` para desativar totalmente a deteção de repetições. |
| `block.repeat.similarity.threshold` | `0.85` | Para a correspondência de quase repetições, o grau de semelhança que duas mensagens têm de ter para contar como repetição. Um valor entre `0` e `1`, onde `1` significa idêntico. Mais alto é mais rigoroso (menos bloqueios); mais baixo é mais agressivo. |
| `block.unsupported.languages` | `false` | Bloqueia idiomas que o Verité ainda não suporta. Os idiomas suportados são inglês, espanhol, francês, italiano, português e alemão. Todos os outros idiomas são bloqueados quando isto estiver ativado. Editável com `/verite config` como `block.unsupported.languages`. |

### Pesos de deteção de idioma

O bloco `chat.filter.advanced.language` ajusta a forma como o Verité atribui um idioma a cada palavra de uma mensagem.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `known.word.weight` | `50` | Peso para uma palavra que o dicionário de um idioma conhece mas que a tabela de taxas não lista. Mais alto significa que a pertença ao dicionário conta mais. |
| `unknown.word.weight` | `0.1` | Peso mínimo para uma palavra que nenhum dicionário conhece e que a tabela de taxas omite. |

### Passagens de evasão

O bloco `chat.filter.advanced.evasion` alterna as passagens que desfazem as tentativas de fazer passar conteúdo pelo filtro. Cada uma predefine-se para `true`. Desativar passagens pode reduzir ligeiramente a latência.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `homoglyph` | `true` | Reconverte para ASCII as falsificações de letras de largura total, cirílicas e math-bold. Editável com `/verite config` como `evasion.homoglyph`. |
| `entity` | `true` | Remove entidades HTML e codificações semelhantes. Editável com `/verite config` como `evasion.entity`. |
| `deobfuscate` | `true` | Reverte a ofuscação com caracteres inseridos e letras espaçadas. Editável com `/verite config` como `evasion.deobfuscate`. |
| `segmentation` | `true` | Divide palavras coladas de novo em palavras separadas. Editável com `/verite config` como `evasion.segmentation`. |
| `fingerprint` | `true` | Apanha grafias com letras trocadas. Editável com `/verite config` como `evasion.fingerprint`. |

### Confiança de palavrões

O bloco `chat.filter.advanced.use.profanity.confidence` define a confiança mínima antes de uma mensagem ser tratada como palavrão.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `enabled` | `true` | Ativa o limiar de confiança de palavrões. Editável com `/verite config` como `use.profanity.confidence.enabled`. |
| `profanity.confidence.threshold` | `0.30` | A confiança mínima necessária para considerar uma mensagem como palavrão. Editável com `/verite config` como `use.profanity.confidence.profanity.confidence.threshold`. |

## Moderação (Veritésauver)

A secção `moderation` configura o sistema de moderação.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `moderation.enabled` | `true` | Ativa o módulo de moderação. Editável com `/verite config` como `moderation.enabled`, mas requer um reinício para aplicar. |
| `moderation.use.rank.weights` | `true` | Compara o peso do grupo do LuckPerms para que o pessoal não possa castigar cargos iguais ou superiores. Os operadores são sempre tratados como o cargo mais alto, independentemente do peso do LuckPerms. |
| `moderation.auto.ban.alts` | `false` | Bane automaticamente as alts de um jogador banido, independentemente de o jogador ter sido banido por IP. Desaconselhado em servidores que partilham endereços IP entre utilizadores distintos. Editável com `/verite config` como `moderation.auto.ban.alts`. |
| `moderation.expire.warns.after` | `7d` | Durante quanto tempo um aviso conta como ativo antes de caducar. |
| `moderation.shared.ip.scan.limit` | `20` | O número máximo de contas mostradas numa análise de IP duplicado. Editável com `/verite config` como `moderation.shared.ip.scan.limit`. |

### Lista negra de comandos de silenciados

`moderation.muted.command.blacklist` lista os comandos que um jogador silenciado não pode utilizar.

!!! note "Injeção por proxy"
    Numa rede com injeção por proxy, estes comandos podem não ser bloqueados pelo Verité, o que significa que um utilizador silenciado poderia ainda utilizá-los.

A lista fornecida é:

```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"
```

### Isenção

O bloco `moderation.exempt` controla como as comparações de peso de cargo tratam alvos de peso igual.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `use.group.weights` | `false` | Permite atuar sobre um alvo de peso igual quando os pesos de grupo estão em uso. Editável com `/verite config` como `moderation.exempt.use.group.weights`. |
| `permit.same.weight` | `true` | Permite atuar sobre um alvo do mesmo peso. Editável com `/verite config` como `moderation.exempt.permit.same.weight`. |

### Modelos de mensagens de castigo

`moderation.punish.message.templates` define o texto mostrado aos jogadores castigados e ao pessoal. Os modelos suportam `\n` (nova linha) e os quantificadores `@duration`, `@enforcer`, `@target`, `@reason`, `@punishment`, `@total.warns` e `@remaining`. Se nenhum motivo tiver sido definido, `@reason` é substituído por `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}
```

| Chave | Predefinição |
| --- | --- |
| `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}` |

### Árvore de castigos

O bloco `moderation.tree` define as categorias de castigo, os passos de escalada dentro de cada categoria e que grupos do pessoal podem aplicar que categorias. Cada categoria aplica os seus castigos por ordem. Os tipos de castigo suportados são `warn`, `mute`, `kick` e `ban`. Uma duração após dois pontos (por exemplo `ban: 14d`) torna esse passo temporário; o mesmo tipo sem duração é permanente. A entrada final `minecraft:` de cada categoria é o item mostrado para essa categoria na GUI de castigos.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `moderation.tree.enabled` | `true` | Ativa a árvore de castigos. |
| `moderation.use.fields` | `true` | Utiliza os Fields do Minecraft 1.21.7+ para a conclusão do castigo em vez do chat. |

#### Permissões

`moderation.tree.permissions.luckperms` mapeia nomes de grupos do LuckPerms para as categorias que podem aplicar. A hierarquia é suportada de cima para baixo: se os seus grupos forem `helper`, depois `mod`, depois `admin`, o `admin` herda as categorias de `mod` e `helper`, e o `mod` herda as categorias de `helper`. Substitua os nomes dos grupos pelos seus.

```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}
```

| Grupo | Categorias concedidas |
| --- | --- |
| `helper` | `harassment`, `threats`, `spam`, `advertising`, `macroing`, `misinformation`, `inappropriate.content` |
| `mod` | `exploiting`, `discrimination`, `impersonation` |
| `admin` | `hacking`, `fraud`, `evading.punishment`, `inappropriate.username`, `inappropriate.skin`, `griefing` |

#### Categorias

`moderation.tree.categories` lista cada categoria e os seus passos de escalada ordenados.

```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}
```

| Categoria | Passos de escalada | Item da GUI |
| --- | --- | --- |
| `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

A secção `invsee` controla a visualização de inventário.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `invsee.enable-offline-player-support` | `true` | Permite ver o inventário de jogadores offline. |
| `invsee.enable-unknown-player-support` | `true` | Permite ver o inventário de jogadores que nunca foram vistos antes. |
| `invsee.tabcomplete-offline-players` | `true` | Inclui jogadores offline na conclusão por tabulação. |

## Vanish (Veritévoiler)

A secção `vanish` configura o sistema de vanish. O bloco `vanish.features` alterna comportamentos individuais, cada um predefinido para `true`. Cada chave de funcionalidade é editável com `/verite config` como `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
```

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `vanish.enabled` | `true` | Ativa o módulo de vanish. Editável com `/verite config` como `vanish.enabled`, mas requer um reinício para aplicar. |
| `vanish.features.fake.message` | `true` | Mostra uma mensagem falsa de entrada ou saída ao entrar ou sair do vanish. |
| `vanish.features.actionbar` | `true` | Mostra um lembrete persistente na action bar enquanto está em vanish. |
| `vanish.features.self.view` | `true` | Permite que o jogador em vanish continue a ver-se a si próprio. |
| `vanish.features.fly` | `true` | Concede voo enquanto está em vanish. |
| `vanish.features.invulnerability` | `true` | Torna o jogador em vanish invulnerável. |
| `vanish.features.effects` | `true` | Aplica os efeitos de poção relacionados com o vanish. |
| `vanish.features.gamemode` | `true` | Gere o modo de jogo do jogador enquanto está em vanish. |
| `vanish.features.ride.entity` | `true` | Permite que o jogador em vanish monte entidades. |
| `vanish.features.silent.container` | `true` | Abre contentores silenciosamente enquanto está em vanish. |
| `vanish.features.inventory.inspect` | `true` | Permite inspecionar inventários enquanto está em vanish. |
| `vanish.features.server.ping` | `true` | Ajusta a contribuição do jogador para a lista de ping do servidor enquanto está em vanish. |
| `vanish.features.ghost` | `true` | Oculta o jogador em vanish como um fantasma para que passe despercebido. |
| `vanish.features.prevent.chat` | `true` | Impede que o jogador em vanish envie mensagens no chat. |
| `vanish.features.prevent.pickup` | `true` | Impede que o jogador em vanish apanhe itens. |
| `vanish.features.prevent.drop` | `true` | Impede que o jogador em vanish largue itens. |
| `vanish.features.prevent.interact` | `true` | Impede que o jogador em vanish interaja com o mundo. |
| `vanish.features.prevent.block.break` | `true` | Impede que o jogador em vanish parta blocos. |
| `vanish.features.prevent.block.place` | `true` | Impede que o jogador em vanish coloque blocos. |
| `vanish.features.prevent.target` | `true` | Impede que os mobs tenham como alvo o jogador em vanish. |
| `vanish.features.prevent.damage` | `true` | Impede que o jogador em vanish inflija ou receba dano. |
| `vanish.features.prevent.food` | `true` | Impede que o nível de fome do jogador em vanish mude. |
| `vanish.features.prevent.buckets` | `true` | Impede que o jogador em vanish utilize baldes. |
| `vanish.features.prevent.advancement` | `true` | Impede que o jogador em vanish obtenha progressos. |
| `vanish.features.prevent.projectiles` | `true` | Impede que o jogador em vanish lance projéteis. |
| `vanish.features.muffle.sounds` | `true` | Silencia os sons que o jogador em vanish produziria de outra forma. |
| `vanish.features.muffle.particles` | `true` | Silencia as partículas que o jogador em vanish produziria de outra forma. |

## Entrada e saída falsas

A secção `fake.connect` configura os comandos `/fakejoin` e `/fakeleave`, que difundem uma mensagem de ligação falsa sem que ninguém entre ou saia de facto.

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

| Chave | Predefinição | Controla |
| --- | --- | --- |
| `fake.connect.enabled` | `true` | Ativa ou desativa os comandos `/fakejoin` e `/fakeleave`. Quando desativado, ambos os comandos recusam de forma educada. |
| `fake.connect.join.message` | `&#FFFF55%player% joined the game` | A mensagem difundida por `/fakejoin`. Suporta códigos `&` e hexadecimal `&#RRGGBB`. `%player%` é substituído pelo nome do jogador escolhido. |
| `fake.connect.leave.message` | `&#FFFF55%player% left the game` | A mensagem difundida por `/fakeleave`. Suporta códigos `&` e hexadecimal `&#RRGGBB`. `%player%` é substituído pelo nome do jogador escolhido. |
