Pular para o conteúdo principal

MythicMobs NPC

A extensão MythicMobs NPC integra as entidades do MythicMobs ao sistema de NPC do TypeWriter, permitindo criar personagens complexos, animados e interativos com suporte completo a modelos 3D.

Recursos

  • Integração com MythicMobs — Use qualquer MythicMob como NPC persistente, com suporte completo a configuração.
    • Suporte a modelos 3D — Suporte nativo a BetterModel e ModelEngine com gerenciamento automático da visibilidade dos modelos.
    • Grupos de audiência — Exiba NPCs para grupos de jogadores específicos usando o sistema de audiência do TypeWriter. Suporta PlayerGroup para NPCs próprios de cada jogador.
    • Controle de visibilidade — Controle preciso da visibilidade por jogador, com tratamento automático dos jogadores que entram.
    • Interações — Dispare missões e diálogos ao interagir com o NPC, com tipos de clique personalizáveis.
    • Animações — Controle animações, posturas e estados de movimento por meio da API do ModelEngine/BetterModel.

Arquitetura

Integração de modelos

A extensão suporta tanto o BetterModel quanto o ModelEngine para a renderização de modelos 3D:

O BetterModel é o provedor de modelos preferido. A extensão usa a API nativa EntityTrackerRegistry para um controle ideal da visibilidade:

  • Usa registry.spawnIfNotSpawned(player) para exibir os modelos
  • Usa registry.remove(player) para ocultar os modelos
  • Suporte completo à visibilidade dos modelos por jogador

Nota: O modelo deve ser configurado no seu arquivo YAML do MythicMob. O TypeWriter gerencia a visibilidade automaticamente, mas não aplica modelos às entidades.

Grupos de audiência

A extensão suporta o sistema de audiência do TypeWriter para controlar a visibilidade dos NPCs:

# Ao usar PlayerGroup, cada jogador vê sua própria instância do NPC
group: player_group_entry_id

Ao usar PlayerGroup:

  • Cada jogador tem sua própria entidade NPC dedicada
  • Os NPCs são invisíveis para jogadores fora de sua audiência
  • Tratamento automático dos jogadores que entram ou mudam de mundo

Entradas

  • Definições de entidadeMythicMob NPC Definition: define um NPC baseado em um MythicMob. MythicMob NPC Instance: coloca um NPC no mundo.
    • AçõesShow NPC: revela o NPC ao jogador. Hide NPC: oculta o NPC do jogador.
    • Fatos e variáveis — Verifique a vida, presença e distância de um NPC com os fatos. Use as variáveis para acessar os dados de nível, poder e estado.
    • Eventos e cinemáticasNPC Interact Event: dispara ao clicar. NPC Cinematic: use NPCs em cenas.

Início rápido

  • 1. Acionar ações — Use as entradas de ação para interagir com a extensão: show_npc, hide_npc. Acione-as a partir de comandos, NPCs, eventos ou outras entradas. → show_npc → hide_npc

Opções de configuração

NPC Definition

OptionDescrição
mobTypeO nome interno do MythicMob a ser usado
tickingtrue para o lado do servidor (entidade real), false para o lado do cliente (baseado em pacotes)
showDisplayNameSe deve exibir uma etiqueta de nome acima do NPC
cancelInteractAnimationDesativa a animação de balanço do braço na interação

NPC Instance

OptionDescrição
spawnLocationOnde gerar o NPC (suporta posições dinâmicas)
groupGrupo de audiência para o controle de visibilidade
activityEntrada de atividade de entidade para o comportamento do NPC

Dependências

ExtensionObrigatórioUso
QuestExtensionObrigatórioMotor de missões principal.
BasicExtensionObrigatórioUtilitários principais das extensões.
EntityExtensionObrigatórioFramework de gerenciamento de entidades.
RoadNetworkExtensionObrigatórioPathfinding de NPCs e rede de estradas.
PlaceholderAPIOpcionalPara os campos @Placeholder.