Pular para o conteúdo principal

Vanilla

346 ações, eventos, objetivos, fatos, filtros de audiência e atividades de NPC do Minecraft vanilla.

Gratuitasv1.4Utilitários
RequerTypeWriter0.9Basic extension (TypeWriter)Quest extension (TypeWriter)Entity extension (TypeWriter)RoadNetwork extension (TypeWriter)PlaceholderAPIopcional

Visão geral​

O Vanilla conecta as mecânicas padrão do Minecraft ao TypeWriter. É uma biblioteca de 346 entries: actions que alteram o jogador (atributos, vida, experiência, modo de jogo, velocidade...), eventos que disparam quando algo acontece no jogo (um sino tocado, uma troca feita, um balde enchido...), objectives que contam esses eventos para quests, facts que leem o estado do jogador, filtros de audience que correspondem a um estado do jogador e activities de NPC que fazem um NPC reagir às pessoas ao seu redor.

Nada é configurado em um arquivo: você adiciona as entries de que precisa no painel web e as vincula como qualquer outra entry do TypeWriter. A maioria das entries é pequena e tem poucos campos, então as páginas das entries são principalmente um catálogo; esta página explica as famílias e os poucos conceitos compartilhados por muitas entries.

Recursos​

  • Atributos do jogador — 26 actions que definem cada uma um atributo do Minecraft (velocidade de movimento, vida máxima, escala, gravidade, alcance...).
  • Actions de estado do jogador — curar, alimentar, causar dano, definir ar, fogo, voo, modo deus, modo de jogo, experiência e nível, ponto de spawn.
  • Actions de inventário e utilidades — limpar o inventário, abrir uma bancada de criação, bigorna, baú do fim, lixeira, reparar ou condensar minérios.
  • Eventos do jogo — 105 eventos, desde interações com blocos e contêineres até trocas, pesca, raids e entradas do jogador.
  • Objectives — 73 objectives de quest que contam ações do jogo com um fact contador.
  • Facts — 26 facts somente leitura para vida, fome, nível, hora, clima, dimensão, nível de luz e mais.
  • Filtros de audience — 48 filtros que mantêm jogadores por estado: agachado, em movimento, na água, hora do dia, coordenadas, ferramenta na mão...
  • Activities de NPC — 20 activities para NPCs: seguir ou evitar jogadores, patrulhar, orbitar, detectar jogadores pela visão, audição ou olfato.
  • Bound de câmera de NPC — trave a câmera do jogador em um NPC durante uma interação.

Instalação​

  1. Instale as extensões oficiais do TypeWriter Basic, Quest, Entity e RoadNetwork (elas são declaradas como dependências do Vanilla).
  2. Baixe o VanillaExtension nos GitHub releases (botão acima) e coloque o JAR em plugins/Typewriter/extensions/.
  3. Reinicie o servidor. O log mostra VanillaExtension has been successfully initialized.

A extensão tem como alvo o Paper e o Folia. O PlaceholderAPI não é obrigatório; ele só é usado quando um campo de texto contém %placeholders%.

Primeiros passos​

Deixe o jogador mais forte quando ele terminar um ritual e conte quantos barris ele abre para uma quest:

  1. No painel web do TypeWriter, abra uma página de sequence e adicione uma action como Set Max Health. Defina amount como 30 (o atributo é definido com esse valor, não somado ao valor atual).
  2. Vincule-a a partir de um diálogo ou de outra entry por meio de triggers, para que seja executada quando o jogador chegar a essa etapa.
  3. Para reagir a um evento do jogo, adicione um evento em uma página de manifest, por exemplo Bell Ring Event, e coloque as entries a executar em seus triggers.
  4. Para um objective de contagem, primeiro crie um fact contador (por exemplo, um fact permanente da extensão Basic) e depois adicione o Barrel Objective em uma página de manifest. Defina quest, fact com o contador, amount como 5 e display com a linha exibida no rastreador de quests.
  5. Vincule onComplete a uma sequence de recompensa ou preencha onCompleteModifiers para alterar facts quando o objective for concluído.
  6. Clique em Publish e teste.
As actions de atributo são absolutas

Uma action de atributo define o valor base do atributo. Ela não se acumula com uma chamada anterior e não é redefinida por conta própria. Use os valores padrão do vanilla para desfazê-la: por exemplo, a velocidade de movimento é 0.1, a vida máxima é 20 e a escala é 1.

Como funciona​

  • Eventos são triggers simples: adicione um em uma página de manifest e preencha triggers. A maioria deles não tem nenhum campo e dispara para todo evento correspondente de todos os jogadores. Alguns têm filtros (por exemplo, weather_event tem um world e uma condition, on_player_input tem um inputType e um heldItem).
  • Objectives precisam de um fact contador em fact. Cada vez que o evento do jogo acontece para um jogador na quest ativa, o fact aumenta em um. O objective é concluído quando o fact atinge amount. Como o progresso fica em um fact, você também pode alterá-lo de qualquer outro lugar.
  • Facts são somente leitura: use-os em criteria, objectives e condições de diálogo. Não é possível gravar neles.
  • Filtros de audience mantêm um jogador em uma audience enquanto o estado for verdadeiro, e podem ser invertidos. Coloque entries abaixo deles para exibi-las apenas a esses jogadores.
  • Activities são executadas em uma instância de NPC e são descritas abaixo.

O que ela cobre​

Atributos​

26 actions, cada uma definindo um atributo do jogador com o amount que você informar. Movimento e combate: Movement Speed, Sneaking Speed, Attack Damage, Attack Speed, Knockback Resistance. Corpo e mundo: Max Health, Scale, Gravity, Step Height, Block Reach, Camera Distance.

Vida, fome e experiência​

Heal, Heal All, Damage, Feed, Set Hunger, Set Saturation, Set Absorption, Set Air, Set Fire, Freeze, Add Experience, Set Level, Suicide.

Movimento, física e modos​

Set Velocity (absoluta ou somada à velocidade atual), Flight, God Mode, Gamemode, Mount Vehicle, Dismount, Eject Vehicle, Wake Up, Set Spawn Point, Top.

Inventário e itens​

Clear Inventory, Repair, Durability (item da mão principal), Hat, Condense Ores (transforma 9 lingotes, minérios brutos, gemas ou carvão no bloco correspondente), Ender Chest, Disposal (abre uma lixeira de 54 slots), Craft, Anvil e Inventory See / Ender Chest See para abrir o inventário de outro jogador pelo nome exato.

Mundo, efeitos e interface​

Create Explosion, Spawn Lightning, Launch Firework, Spawn Tree, Start Raid, Set World Time, Open Book, Open Sign, Clear Title, Grant Advancement e Revoke Advancement.

Eventos​

105 triggers do jogo: bancadas (Anvil Repair, Enchant, Smelt, Brewing Stand Brew), contêineres e blocos (Barrel Open, Bell Ring, Jukebox Play, Sign Change), o jogador (Player Teleport, Player Respawn, Toggle Sneak, Player Input), animais e trocas (Entity Breed, Villager Trade, Piglin Barter), veículos, raids, pesca, itens e o mundo (Weather).

Objectives​

73 objectives que espelham os eventos: Gather (itens no inventário), Craft, Consume Item, Villager Trade, Harvest Crop, Statistic Reach, Level Reach, Tame Entity, Sleep, Raid Complete e verificações de um fact: Cachable Fact Check e Readable Fact Check.

Facts​

Player Health, Player Hunger, Player Level, Game Mode, Armor Value, Current Dimension, Time of Day, Weather, Light Level, Total Play Time, Time Since Death, além de indicadores de em chamas, na água, dormindo, congelando e em raid.

Filtros de audience​

Estado do jogador: Sneaking, Sprinting, Moving, Swimming, Gliding, Riding, On Fire, Low Health, Has Effect, Has Armor, Tool in Hand, Weapon in Hand. Local e hora: Coordinate, In Specific Dimension, Daytime, Nighttime, Time Period, During Rain, Near Beacon. Visão: Looking At Entity, Looking Up, Looking Down e os filtros de teclas Forward, Backward, Left e Right.

Activities de NPC​

Follow Player, Avoid Player, Orbit, Hearing, Smell, Equipment Detection, Health Detection, Line of Sight Obstructed e a família de campo de visão: Visibility Detection, Look Close, Patrol, Random Patrol, Spin.

Bound de câmera​

Lock NPC Camera mantém a visão do jogador em um NPC enquanto uma interação (um diálogo) está em andamento.

Configuração​

O Vanilla não tem arquivo de configuração. Os objectives que contam (a maioria das entries *_objective) mostram seu progresso no rastreador de quests com os snippets do TypeWriter advancedQuest.display e advancedQuest.completed, e o Gather usa quest.gather_objective.display e quest.gather_objective.completed. Eles usam os placeholders <display>, <current> e <required>.

Entries​

A lista abaixo contém todas as entries da extensão, agrupadas por tipo.

346 entradas, geradas a partir do código-fonte da extensão.

Ações73
Eventos105
Objetivos73
Fatos26
Audiências48
Atividades20
Limites de interação1

Solução de problemas​

Uma action de atributo parece não fazer nada, ou o efeito permanece para sempre. A action grava o valor base do atributo e nada o redefine. Execute a mesma action com o valor padrão (por exemplo 0.1 para a velocidade de movimento) para desfazê-la. O Minecraft limita alguns atributos (por exemplo, a escala), e um valor fora do intervalo é recusado com um erro no log do servidor.

Um objective nunca é concluído. Ele precisa de um fact que seja um contador (um fact armazenável em cache e gravável, como um fact permanente ou de sessão), de uma quest ativa para o jogador e de criteria que correspondam. Facts somente leitura (toda entry da pasta fact) não podem ser usados como contador.

Um evento repetido de verificação de fact armazenável em cache continua disparando. O Cachable Fact Check Event verifica novamente a cada checkIntervalSeconds (padrão 10) e dispara cada vez que o fact ainda corresponde. Defina um modifier que altere o fact ou use-o com uma proteção de disparo único. Um valor 0 desativa a verificação periódica, e um intervalo negativo é rejeitado com um erro no log.

Uma activity de visibilidade nunca detecta o jogador. O NPC deve ser visto como uma instância de entidade com a activity definida, o jogador deve estar dentro de radius (ou visionRadius) e dentro do fov da direção do NPC, e nenhum bloco pode estar no caminho. A detecção dispara uma vez quando o jogador entra no campo de visão e novamente apenas depois que ele sai e volta. Ative showDisplay para ver o cone em partículas de chama.

Um evento dispara para todos. Os eventos sem campos (a maioria) não são filtrados: todo evento correspondente dispara as entries vinculadas para o jogador que o causou. Use criteria nas entries que eles disparam para restringi-las.

Abrir o inventário de outro jogador não faz nada. O Inventory See e o Ender Chest See precisam do nome exato de um jogador online em target. Um alvo vazio abre o inventário do próprio jogador, e um nome desconhecido não faz nada.