Vanish do pessoal (Veritévoiler)
O Veritévoiler é o vanish do pessoal do Verité. Permite a um membro do pessoal tornar-se invisível para os jogadores comuns para que possa observar uma situação em silêncio, e depois reaparecer quando terminar. O vanish é mais do que ocultar um corpo: também silencia os pequenos indícios que de outra forma revelariam um membro do pessoal oculto, como passos, partículas, chat, presença na lista de servidores e mensagens de entrada ou saída.
O componente está ativado por predefinição. Um membro do pessoal liga-o com o comando de vanish. Para o próprio comando e quem o pode executar, consulte a Referência de comandos. Para cada nó de permissão nomeado nesta página, consulte a Referência de permissões. Para as chaves de configuração exatas e as suas predefinições, consulte a secção vanish descrita em Alternadores de funcionalidades.
Ligar e desligar o vanish
Um membro do pessoal executa o comando de vanish para se ocultar, e executa-o novamente para reaparecer. Alguém com a permissão certa também pode ocultar ou revelar outro jogador nomeando-o. O estado de vanish é recordado: um membro do pessoal oculto que se desliga, ou o servidor reinicia, regressa ainda oculto.
Enquanto oculto, um membro do pessoal é removido da vista de cada jogador que não tem autorização para o ver. Os jogadores que têm autorização para ver o pessoal oculto continuam a ver o membro do pessoal normalmente.
Níveis de vanish
O vanish é escalonado, para que o pessoal sénior se possa ocultar até do pessoal júnior. Cada membro do pessoal tem um nível de vanish, retirado da permissão verite.vanish.level.<n> mais alta que possui (por exemplo verite.vanish.level.3). Um observador só pode ver um membro do pessoal oculto quando possui a permissão verite.vanish.see e o seu próprio nível é pelo menos tão alto como o nível do membro do pessoal oculto.
Isto significa que um membro do pessoal de nível mais alto permanece invisível para um de nível mais baixo, enquanto níveis iguais ou superiores se podem ver uns aos outros. Quando nenhuma permissão de nível está presente, todos partilham o nível zero, por isso a permissão see sozinha decide quem pode ver quem.
Os níveis vêm do LuckPerms
A resolução de nível lê os nós verite.vanish.level.<n> através do LuckPerms, incluindo nós herdados de grupos. O LuckPerms é opcional: quando não está instalado, todos os membros do pessoal partilham o nível zero e só verite.vanish.see importa.
De que é ocultado um membro do pessoal em vanish
Enquanto um membro do pessoal está oculto, o Verité oculta os rastos que de outra forma o revelariam. Cada um destes pode ser ligado ou desligado individualmente.
| Rasto | O que é ocultado |
|---|---|
| O próprio jogador | O corpo é removido da vista de qualquer um que não possa ver o membro do pessoal, usando tratamento de visibilidade padrão. |
| Chat | Qualquer coisa que um membro do pessoal oculto escreve é entregue apenas ao pessoal que o pode ver, mais a consola do servidor. Os jogadores comuns nunca a recebem. |
| Ping da lista de servidores | O membro do pessoal oculto é removido da amostra de jogadores mostrada na lista de multijogador, e onde a plataforma o permite, a contagem online é reduzida para corresponder. |
| Mensagens de entrada e saída | Enquanto oculto, um membro do pessoal que entra ou sai do servidor não mostra qualquer mensagem de entrada ou saída. |
| Sons | Passos, comer, beber, salpicar e sons posicionados semelhantes vindos da localização do membro do pessoal são descartados para os jogadores que não o podem ver. |
| Partículas | As partículas de movimento e ação da localização do membro do pessoal são descartadas para os jogadores que não o podem ver. |
| Recolhas e largadas de itens | O membro do pessoal não pode apanhar ou largar itens, por isso nenhum item se move por conta própria. |
| Interação com o mundo | Partir e colocar blocos, placas de pressão e fios de armadilha, e encher ou esvaziar baldes são impedidos. |
| Progressos | Os anúncios de progresso de um membro do pessoal oculto são suprimidos. |
| Projéteis | Flechas, bolas de neve e outros projéteis não podem ser disparados, por isso nada sai do nada. |
| Dano e alvo | O membro do pessoal não recebe nem inflige dano, e os monstros não o têm como alvo. |
| Fome e ar | A fome não drena e a barra de ar permanece cheia debaixo de água. |
| Veículos | Se outro jogador tenta embarcar num veículo que o membro do pessoal está a conduzir, o membro do pessoal é discretamente removido do assento primeiro. |
Os jogadores e o pessoal que têm autorização para ver o membro do pessoal oculto, e o próprio membro do pessoal oculto, continuam a ouvir, ver e receber tudo normalmente.
A ocultação de sons e partículas chega ao interior do servidor
Os sons e as partículas são os únicos rastos que o servidor envia diretamente aos jogadores próximos, por isso nenhuma definição comum os pode parar. O Verité filtra-os ao nível da ligação. Numa versão de servidor que isto não consegue ler com segurança, a ocultação de sons e partículas desliga-se por conta própria e o resto do vanish continua a funcionar. A correspondência é por proximidade à posição recente do membro do pessoal, por isso um som acionado bem longe do membro do pessoal (por exemplo um projétil que ele disparou, o que é impedido separadamente) não é coberto aqui.
A mensagem de saída falsa
Este é o coração antievasão do vanish. Quando um membro do pessoal se oculta, o servidor pode difundir uma mensagem de saída de aspeto normal para que todos acreditem que esse membro do pessoal se desligou, enquanto na realidade permanece online e a observar. Um infrator que só se estava a comportar porque o pessoal estava presente pode então cometer um erro à frente de alguém que não consegue ver. Quando o membro do pessoal oculto se torna visível novamente, simplesmente reaparece sem mensagem.
Isto é controlado pelo alternador fake.message. Quando está desligado, nenhuma mensagem de saída falsa é mostrada.
Benefícios de observador (efeitos)
No momento em que um membro do pessoal se oculta, recebe um conjunto de benefícios de qualidade de vida que tornam a observação mais fácil sem o denunciar. Que benefícios se aplicam depende tanto do alternador de configuração correspondente como das permissões do membro do pessoal.
| Benefício | Requer | O que faz |
|---|---|---|
| Transparência de autovisualização | Alternador self.view |
O próprio corpo do membro do pessoal parece translúcido no seu próprio ecrã, um lembrete claro de que está oculto. |
| Sem colisões | Sempre, enquanto oculto | Os outros jogadores já não esbarram no membro do pessoal. |
| Sono ignorado | Sempre, enquanto oculto | O membro do pessoal nunca atrasa a noite; não é contado para dormir. |
| Voo | Alternador fly e verite.vanish.fly |
O membro do pessoal pode voar enquanto oculto. |
| Invulnerabilidade | Alternador invulnerability e verite.vanish.invulnerable |
O membro do pessoal não recebe dano. |
| Visão noturna | Alternador effects e verite.vanish.effects |
O membro do pessoal pode ver no escuro. |
A visão noturna é um efeito de poção real, porque o próprio cliente ilumina a vista, por isso o seu pequeno ícone de estado é o único marcador inevitável no ecrã. É aplicada sem partículas nem brilhos. Qualquer visão noturna que o membro do pessoal já tivesse é recordada em armazenamento durável antes de o efeito de vanish ser aplicado, por isso sobrevive a um reinício. Quando o membro do pessoal se torna visível novamente, o seu corpo torna-se sólido, a visão noturna do vanish é removida, e o seu efeito original é restaurado exatamente como estava, ou deixado desligado se não tivesse nenhum.
A resistência ao fogo e a respiração debaixo de água não são deliberadamente concedidas como efeitos, uma vez que um membro do pessoal oculto já não recebe dano de fogo, lava ou afogamento e mantém uma barra de ar cheia, por isso esses efeitos seriam pura desordem no ecrã. Quando o membro do pessoal reaparece, o voo só é mantido se possuir verite.vanish.fly.keep, ou se estiver no modo criativo ou espetador.
Ferramentas de observador
Para além dos benefícios acima, um membro do pessoal oculto tem várias ferramentas para inspecionar uma situação. Cada uma tem o seu próprio alternador de configuração.
- Alternador de espetador por duplo agachamento (
gamemode): enquanto oculto, premir agachar duas vezes rapidamente coloca o membro do pessoal no modo espetador para flutuar através de paredes e observar, e agachar duplamente novamente devolve-o ao seu modo anterior. As duas pressões têm de acontecer dentro de uma curta janela. - Abertura silenciosa de contentores (
silent.container): clicar com o botão direito num baú, barril, shulker ou outro contentor abre-o sem animação de tampa, som ou contagem de aberturas que revelasse aos jogadores próximos. Clicar com o botão direito num baú de ender abre o próprio baú de ender do membro do pessoal. - Inspeção de inventário de jogador (
inventory.inspect): agachar e clicar com o botão direito noutro jogador abre uma vista ao vivo do que ele carrega. O jogador que está a ser inspecionado nunca vê a interação. - Vista fantasma (
ghost): para um observador que tem autorização para ver um par oculto, o membro do pessoal oculto é mostrado como uma figura translúcida ao estilo espetador em vez de totalmente invisível. Isto é apenas uma sobreposição visual por observador; nunca altera o verdadeiro modo de jogo do membro do pessoal. Numa versão de servidor que não consegue resolver, o observador simplesmente vê o membro do pessoal totalmente oculto.
A inspeção de inventário não é apenas de leitura
A vista de inventário ao vivo aberta pela inspeção de inventário não está bloqueada apenas para observação ao nível do item, uma vez que o pessoal é de confiança.
Lembrete na action bar
Enquanto oculto, uma pequena mensagem persistente que diz que o membro do pessoal está em vanish é mostrada logo acima da sua hotbar e mantida atualizada. Isto previne o erro comum de um membro do pessoal esquecer que está invisível e agir como se os outros jogadores o pudessem ver. Apenas os jogadores ocultos veem este lembrete. É controlado pelo alternador actionbar.
Alternadores de funcionalidades
Cada parte do vanish acima pode ser ligada ou desligada individualmente sem desativar o componente inteiro. Os alternadores vivem sob vanish.features no config.yml, e cada um predefine-se para ligado. Defina vanish.enabled como false para desativar o componente inteiramente.
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 | Controla |
|---|---|
fake.message |
A mensagem de saída falsa quando um membro do pessoal se oculta, e as mensagens ocultas de entrada ou saída. |
actionbar |
O lembrete de vanish no ecrã acima da hotbar. |
self.view |
O aspeto translúcido do próprio corpo do membro do pessoal no seu próprio ecrã. |
fly |
Voo enquanto oculto, quando o membro do pessoal também possui verite.vanish.fly. |
invulnerability |
Imunidade a dano enquanto oculto, quando o membro do pessoal também possui verite.vanish.invulnerable. |
effects |
O efeito de visão noturna, quando o membro do pessoal também possui verite.vanish.effects. |
gamemode |
O alternador de espetador por duplo agachamento. |
ride.entity |
Remover um membro do pessoal oculto de um veículo que outro jogador tenta embarcar. |
silent.container |
Abrir contentores sem animação, som ou contagem de aberturas. |
inventory.inspect |
Agachar e clicar com o botão direito para ver o inventário de outro jogador. |
server.ping |
Ocultar o pessoal em vanish do ping da lista de servidores. |
ghost |
A sobreposição translúcida de espetador para observadores que podem ver o membro do pessoal. |
prevent.chat |
Manter o chat de um membro do pessoal oculto visível apenas para o pessoal que o pode ver. |
prevent.pickup |
Bloquear as recolhas de itens. |
prevent.drop |
Bloquear as largadas de itens. |
prevent.interact |
Bloquear placas de pressão e fios de armadilha. |
prevent.block.break |
Bloquear a quebra de blocos. |
prevent.block.place |
Bloquear a colocação de blocos. |
prevent.target |
Impedir os monstros de terem como alvo o membro do pessoal. |
prevent.damage |
Impedir o membro do pessoal de receber ou infligir dano. |
prevent.food |
Manter a fome sem drenar e a barra de ar cheia. |
prevent.buckets |
Bloquear o encher e esvaziar de baldes. |
prevent.advancement |
Suprimir os anúncios de progresso. |
prevent.projectiles |
Bloquear os lançamentos de projéteis. |
muffle.sounds |
Descartar sons posicionados da localização do membro do pessoal para os jogadores que não o podem ver. |
muffle.particles |
Descartar partículas da localização do membro do pessoal para os jogadores que não o podem ver. |
A fome e o ar partilham um alternador
Tanto a drenagem de fome como a barra de ar debaixo de água são controladas pelo único alternador prevent.food.
Placeholders do PlaceholderAPI
Quando o PlaceholderAPI está instalado, o estado de vanish pode ser lido a partir de listas de tab, scoreboards e configurações de chat sem código, sob o identificador verite.
| Placeholder | Valor |
|---|---|
%verite_vanished% |
true ou false, se o jogador consultado está atualmente em vanish. |
%verite_vanish_count% |
O número de jogadores atualmente em vanish. |
Quando o PlaceholderAPI não está instalado, estes placeholders simplesmente não existem e nada mais é afetado.
Integração com a tab do TAB
Na tab vanilla, um membro do staff oculto já é removido da lista para quem não o pode ver, porque o Verité o oculta através do tratamento de visibilidade padrão. No entanto, o popular plugin TAB reconstrói a própria tab e, de outra forma, voltaria a adicionar o membro do staff oculto. Quando o TAB está instalado, o Verité regista-se na própria integração de vanish do TAB, para que o TAB seja informado de quais jogadores estão ocultos e quais observadores os podem ver, e o TAB mantém a sua tab alinhada com o vanish. Não é necessária qualquer configuração; a integração é registada automaticamente quando o TAB está presente e não faz nada quando está ausente. As versões mais antigas do TAB que não expõem esta integração são ignoradas, caso em que o TAB pode mostrar o staff invisível na sua tab até ser atualizado.
Para programadores
O vanish expõe duas formas de outro plugin reagir a alterações do estado de vanish:
- Um evento cancelável disparado antes de o estado de vanish de um jogador mudar, para que um plugin possa vetar um vanish ou unvanish (por exemplo, negar o vanish num mundo específico).
- Um callback leve que dispara imediatamente após uma alteração do estado de vanish, para plugins que só precisam de ser informados quando acontece.
Para a superfície pública de programador, consulte a API para programadores.