Перейти к основному содержимому

MythicMobs NPC

Расширение MythicMobs NPC интегрирует сущности MythicMobs в систему NPC TypeWriter, позволяя создавать сложных, анимированных и интерактивных персонажей с полной поддержкой 3D-моделей.

Возможности

  • Интеграция с MythicMobs — Используйте любого MythicMob как постоянного NPC с полной поддержкой конфигурации.
    • Поддержка 3D-моделей — Нативная поддержка BetterModel и ModelEngine с автоматическим управлением видимостью моделей.
    • Группы аудитории — Показывайте NPC определённым группам игроков через систему аудитории TypeWriter. Поддерживает PlayerGroup для персональных NPC.
    • Управление видимостью — Тонкое управление видимостью для каждого игрока с автоматической обработкой подключающихся игроков.
    • Взаимодействия — Запускайте квесты и диалоги при взаимодействии с NPC, с настраиваемыми типами кликов.
    • Анимации — Управляйте анимациями, стойками и состояниями движения через API ModelEngine/BetterModel.

Архитектура

Интеграция моделей

Расширение поддерживает рендеринг 3D-моделей как через BetterModel, так и через ModelEngine:

BetterModel — предпочтительный поставщик моделей. Расширение использует нативный API EntityTrackerRegistry для оптимального управления видимостью:

  • Использует registry.spawnIfNotSpawned(player) для показа моделей
  • Использует registry.remove(player) для скрытия моделей
  • Полная поддержка видимости моделей для каждого игрока

Примечание. Модель должна быть настроена в вашем YAML-файле MythicMob. TypeWriter автоматически управляет видимостью, но не применяет модели к сущностям.

Группы аудитории

Расширение поддерживает систему аудитории TypeWriter для управления видимостью NPC:

# При использовании PlayerGroup каждый игрок видит собственный экземпляр NPC
group: player_group_entry_id

При использовании PlayerGroup:

  • У каждого игрока есть собственная выделенная сущность NPC
  • NPC невидимы для игроков за пределами их аудитории
  • Автоматическая обработка игроков, подключающихся или меняющих мир

Записи

  • Определения сущностейMythicMob NPC Definition: определить NPC на основе MythicMob. MythicMob NPC Instance: разместить NPC в мире.
    • ДействияShow NPC: показать NPC игроку. Hide NPC: скрыть NPC от игрока.
    • Факты и переменные — Проверяйте здоровье, присутствие и дистанцию NPC с помощью фактов. Используйте переменные для доступа к данным об уровне, силе и состоянии.
    • События и кинематикаNPC Interact Event: срабатывает при клике. NPC Cinematic: использовать NPC в сценах.

Быстрый старт

  • 1. Запускайте действия — Используйте записи-действия для взаимодействия с расширением: show_npc, hide_npc. Запускайте их из команд, NPC, событий или других записей. → show_npc → hide_npc

Параметры конфигурации

NPC Definition

OptionОписание
mobTypeВнутреннее имя используемого MythicMob
tickingtrue для серверной стороны (реальная сущность), false для клиентской стороны (на основе пакетов)
showDisplayNameПоказывать ли табличку с именем над NPC
cancelInteractAnimationОтключить анимацию взмаха руки при взаимодействии

NPC Instance

OptionОписание
spawnLocationГде создавать NPC (поддерживает динамические позиции)
groupГруппа аудитории для управления видимостью
activityЗапись активности сущности для поведения NPC

Зависимости

ExtensionОбязательноНазначение
QuestExtensionОбязательноОсновной движок квестов.
BasicExtensionОбязательноОсновные утилиты расширений.
EntityExtensionОбязательноФреймворк управления сущностями.
RoadNetworkExtensionОбязательноПоиск пути NPC и дорожная сеть.
PlaceholderAPIОпциональноДля полей @Placeholder.