Saltar al contenido principal

MythicMobs NPC

La extensión MythicMobs NPC integra las entidades de MythicMobs en el sistema de NPC de TypeWriter, permitiendo crear personajes complejos, animados e interactivos con soporte completo de modelos 3D.

Características

  • Integración con MythicMobs — Usa cualquier MythicMob como NPC persistente, con soporte completo de configuración.
    • Soporte de modelos 3D — Soporte nativo para BetterModel y ModelEngine con gestión automática de la visibilidad de los modelos.
    • Grupos de audiencia — Muestra los NPC a grupos de jugadores específicos usando el sistema de audiencia de TypeWriter. Admite PlayerGroup para NPC propios de cada jugador.
    • Control de visibilidad — Control preciso de la visibilidad por jugador, con gestión automática de los jugadores que se conectan.
    • Interacciones — Dispara misiones y diálogos al interactuar con el NPC, con tipos de clic personalizables.
    • Animaciones — Controla animaciones, posturas y estados de movimiento mediante la API de ModelEngine/BetterModel.

Arquitectura

Integración de modelos

La extensión admite tanto BetterModel como ModelEngine para el renderizado de modelos 3D:

BetterModel es el proveedor de modelos preferido. La extensión usa la API nativa EntityTrackerRegistry para un control óptimo de la visibilidad:

  • Usa registry.spawnIfNotSpawned(player) para mostrar los modelos
  • Usa registry.remove(player) para ocultar los modelos
  • Soporte completo de la visibilidad de modelos por jugador

Nota: El modelo debe configurarse en tu archivo YAML de MythicMob. TypeWriter gestiona automáticamente la visibilidad, pero no aplica modelos a las entidades.

Grupos de audiencia

La extensión admite el sistema de audiencia de TypeWriter para controlar la visibilidad de los NPC:

# Usando PlayerGroup, cada jugador ve su propia instancia del NPC
group: player_group_entry_id

Al usar PlayerGroup:

  • Cada jugador tiene su propia entidad NPC dedicada
  • Los NPC son invisibles para los jugadores fuera de su audiencia
  • Gestión automática de los jugadores que se conectan o cambian de mundo

Entradas

  • Definiciones de entidadMythicMob NPC Definition: define un NPC basado en un MythicMob. MythicMob NPC Instance: coloca un NPC en el mundo.
    • AccionesShow NPC: revela el NPC al jugador. Hide NPC: oculta el NPC al jugador.
    • Hechos y variables — Comprueba la salud, presencia y distancia de un NPC con los hechos. Usa las variables para acceder a los datos de nivel, poder y estado.
    • Eventos y cinemáticasNPC Interact Event: se dispara al hacer clic. NPC Cinematic: usa los NPC en escenas.

Inicio rápido

  • 1. Activar acciones — Usa las entradas de acción para interactuar con la extensión: show_npc, hide_npc. Actívalas desde comandos, NPC, eventos u otras entradas. → show_npc → hide_npc

Opciones de configuración

NPC Definition

OptionDescripción
mobTypeEl nombre interno del MythicMob a usar
tickingtrue para el lado del servidor (entidad real), false para el lado del cliente (basado en paquetes)
showDisplayNameSi se muestra una etiqueta de nombre sobre el NPC
cancelInteractAnimationDesactiva la animación de balanceo del brazo al interactuar

NPC Instance

OptionDescripción
spawnLocationDónde generar el NPC (admite posiciones dinámicas)
groupGrupo de audiencia para el control de la visibilidad
activityEntrada de actividad de entidad para el comportamiento del NPC

Dependencias

ExtensionRequeridoUso
QuestExtensionRequeridoMotor de misiones principal.
BasicExtensionRequeridoUtilidades principales de las extensiones.
EntityExtensionRequeridoFramework de gestión de entidades.
RoadNetworkExtensionRequeridoPathfinding de NPC y red de caminos.
PlaceholderAPIOpcionalPara los campos @Placeholder.