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
PlayerGrouppara 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:
- BetterModel
- ModelEngine
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
O ModelEngine também é suportado por meio da API de compatibilidade:
- Usa
setForceViewing/setForceHiddennos dados da entidade base - Retorno automático quando o BetterModel não está disponível
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 entidade — MythicMob NPC Definition: define um NPC baseado em um MythicMob. MythicMob NPC Instance: coloca um NPC no mundo.
- Ações — Show 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áticas — NPC 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
| Option | Descrição |
|---|---|
mobType | O nome interno do MythicMob a ser usado |
ticking | true para o lado do servidor (entidade real), false para o lado do cliente (baseado em pacotes) |
showDisplayName | Se deve exibir uma etiqueta de nome acima do NPC |
cancelInteractAnimation | Desativa a animação de balanço do braço na interação |
NPC Instance
| Option | Descrição |
|---|---|
spawnLocation | Onde gerar o NPC (suporta posições dinâmicas) |
group | Grupo de audiência para o controle de visibilidade |
activity | Entrada de atividade de entidade para o comportamento do NPC |
Dependências
| Extension | Obrigatório | Uso |
|---|---|---|
| QuestExtension | Obrigatório | Motor de missões principal. |
| BasicExtension | Obrigatório | Utilitários principais das extensões. |
| EntityExtension | Obrigatório | Framework de gerenciamento de entidades. |
| RoadNetworkExtension | Obrigatório | Pathfinding de NPCs e rede de estradas. |
| PlaceholderAPI | Opcional | Para os campos @Placeholder. |