Pular para o conteúdo principal

Arquitetura

Categorias, quests e menus são separados e ligados apenas por entries.

Dados​

  • Quest Category dá a identidade de um grupo: nome, título, ícone, pai, ordem e criteria.
  • Quest Assignment coloca quests da extensão oficial Quest em uma categoria. Vários assignments podem ter a mesma categoria como alvo, e seus overrides são mesclados.
  • Quest Lore adiciona lore por status a uma quest, em uma categoria ou em todo lugar.

Quando um jogador abre um menu, a extensão encontra seu Category Menu, reescreve cada marcador dos layouts simple do Open GUI referenciado como um marcador indexado, interpreta o layout pelo motor do GUI e então substitui cada marcador visível pela n-ésima quest ou categoria. Marcadores sem conteúdo são renderizados como slots vazios, exceto TRACKED_QUEST_SLOT, que mantém o item que você configurou como estado vazio. O botão de ordenação é desenhado como uma sobreposição fixa na posição SORT_SLOT.

Rastreamento e recuperação​

Os ids das quests rastreadas são mantidos por jogador, em ordem, no artifact de rastreamento. A extensão oficial Quest continua exibindo uma quest principal no HUD; o Quest Codex guarda as outras e restaura a última após uma reconexão. A recuperação funciona do mesmo modo para um diálogo ou cinemática interrompido: um snapshot de curta duração é armazenado de forma assíncrona e restaurado alguns ticks depois que o jogador volta. Uma cinemática reinicia sua page e salta para o frame salvo.

Waypoints​

Um waypoint resolve seu alvo (posição fixa, objetivo, objetivo rastreado ou entidade) e depois compõe camadas de texto, bloco e beacon feitas apenas de pacotes. As camadas de HUD seguem a câmera do jogador; as camadas de alvo ficam no objetivo. Nenhuma display entity é salva no mundo.

Integrações​

  • BlueMap — as entries BlueMap Icon são transformadas em marcadores de um conjunto de marcadores Quests quando o BlueMap inicia. Os marcadores são estáticos: não acompanham o progresso de um jogador.
  • Advancements — as entries Advancement Definition são gravadas como um datapack na inicialização e concedidas por uma ação.