Gold Плагин ModeledNPCs: Ultimate NPC Plugin for MythicMobs & ModelEngine! Quests, Dialogues & More! [9.3]

Это обновление направлено на повышение безопасности данных NPC, надёжности выполнения команд и общей стабильности.

Данные NPC и их хранение
  • Записи NPC, которые не удалось загрузить, теперь сохраняются, а не теряются.
  • Зарезервированные ID NPC больше нельзя случайно использовать повторно или перезаписать.
  • Улучшено сохранение данных: последовательная запись и атомарная замена файлов снижают риск повреждения данных.
⚙️ Исправления команд
  • Исправлена обработка префиксов исполнителей команд и символа /.
  • Улучшена подстановка плейсхолдеров с именами игроков.
  • Исправлены некорректные сообщения об использовании команд.
⏳ Задержки взаимодействий
  • Задержки теперь отслеживаются отдельно для каждого игрока.
  • Данные о задержках автоматически очищаются при отключении игрока.
Перезагрузка и совместимость
  • Улучшена перезагрузка NPC с сохранением большего количества настроек.
  • Добавлены необязательные зависимости от нескольких плагинов для работы с несколькими мирами, чтобы улучшить совместимость.
Исправления
  • Исправлен NullPointerException при взаимодействии с NPC. Исправлена ошибка в NPCListener, из-за которой клик по NPC вызывал NullPointerException, если менеджер эффектов ещё не был инициализирован. Проблема затрагивала как левый клик (PlayerInteractEvent), так и правый клик (PlayerInteractAtEntityEvent).
  • Исправлен NoClassDefFoundError — BukkitAudiences при запуске. Удалена оставшаяся зависимость от adventure-platform-bukkit (BukkitAudiences). Эта библиотека не входит в современные версии Paper и из-за неё плагин полностью не запускался. API не использовался внутри плагина, поэтому удаление не повлияло на функциональность.
  • Исправлен NoClassDefFoundError при отсутствии ModelEngine. Исправлено несколько сбоев, возникавших, если ModelEngine не установлен на сервере:
    • ModelEngineHandler.reapplyModelEngineModels() теперь сразу завершает работу, если ModelEngine отсутствует.
    • MEGAnimationHandler теперь один раз при запуске проверяет наличие ModelEngine и защищает все точки входа: applySavedAnimationsWithRetry, playLoopedAnimation, playLoopedAnimationByName, playInteractAnimation, stopLoopedOnEntity. Ранее они вызывали ошибки каждый тик через запланированные задачи и засирали консоль.
Внутренние изменения
  • Компилируемая версия JDK обновлена до Java 25 (Azul Zulu) для поддержки BetterModel API 3.4.1

Добавлено:​

  • Постоянное масштабирование NPC — новая команда /mnpc scale <id> <value>.
  • Добавлено новое поле permanentScale в данные NPC, которое сохраняется между перезапусками.
  • Масштаб автоматически применяется заново при появлении или возрождении NPC.
  • Команда изменяет масштаб в реальном времени и сразу сохраняет значение.

Исправлено:​

  • Эффект наведения сбрасывал пользовательский масштаб NPC.
  • NPC с настроенным масштабом больше не возвращаются к значению 1.0 после того, как игрок перестаёт наводиться на них.
  • Теперь вместо фиксированного значения 1.0 используется permanentScale.
  • Анимация наведения теперь применяется поверх постоянного масштаба (например, NPC с масштабом 0.5x будет иметь эффект наведения 0.5 × hoverMultiplier).
  • Это обновление исправляет проблему, из-за которой ProtocolLib спамил ошибками в консоль
  • Исправлена проблема, из-за которой эффект свечения NPC работал некорректно, когда другие плагины (например, CMI) отправляли пакеты голограмм.
  • Добавлена команда /mnpc cleanholograms для очистки багнутых голограмм.
  • Исправлен баг, связанный с голограммами
ModeledNPCS — крупное обновление Escort System + важные улучшения

Огромное обновление для ModeledNPCS, добавляющее серьёзные улучшения в Escort System, полностью настраиваемое поведение при прибытии и важные исправления совместимости.

✨ Escort System — анимации прибытия (Clone NPCs)
Клоны escort NPC теперь могут автоматически воспроизводить пользовательские анимации при достижении точки назначения.

Новые YAML-поля:
  • arrive-animation: <name>
  • arrive-animation-duration: <seconds>
Возможности:
  • Используется MEGAnimationHandler.playLoopedAnimationByName() напрямую на клоне
  • Полная изоляция для каждого игрока — каждая escort-сессия независима
  • Длительность 0 оставляет анимацию активной до удаления клона
Это позволяет создавать кинематографичные завершения escort-сцен напрямую через конфиг без дополнительного кода.

⚡ Escort System — команды при прибытии
Клоны escort теперь могут выполнять команды сразу после прибытия через YAML-конфигурацию.

Новая секция:
  • Patrol:
    • arrival-commands:
Поддерживаемые форматы:
  • console: <command>
  • player: <command>
  • Без префикса → выполнение от консоли
Дополнительные возможности:

  • Полная поддержка плейсхолдера {player}
  • Команды выполняются до открытия диалога прибытия
  • Полностью независимая система сессий для каждого игрока
Подходит для:
  • Наград
  • Телепортов
  • Прогрессии квестов
  • Эффектов и катсцен
  • Динамических сюжетных событий
Новые YAML-поля диалогов
Добавлены новые настраиваемые поля escort прямо в деревья диалогов:

ПолеРасположениеОписание
arrive-animationКорень дерева назначенияАнимация при прибытии
arrive-animation-durationКорень дерева назначенияДлительность перед удалением
arrival-commandsВнутри Patrol:Команды, выполняемые при прибытии
⛪ Полностью переработан priest.yml
Вся escort-конфигурация priest.yml была переработана.

Изменения:
  • Добавлен arrive-animation: idle
  • Добавлен arrive-animation-duration: 0
  • Добавлены arrival-commands для всех маршрутов и состояний patrol
  • Все escort-маршруты теперь полностью управляются через YAML без необходимости настройки базы данных
✅ Совместимость Patrol System
Оригинальная система прибытия /mnpcai patrol осталась полностью без изменений.

Существующие SQLite-функции продолжают работать как раньше:
  • Анимации
  • Время ожидания
  • Диалоги прибытия
  • Команды
  • Права доступа
Миграция не требуется.

Обновление зависимостей
Обновлено:
  • GlowingEntities с 1.4.3 до 1.4.11
Исправления:
  • IllegalArgumentException: Malformed version: 26.1.2.build.60-stable
  • Краши при запуске, вызванные нестандартным форматированием версий в Paper
Изменений API не требуется — исправление полностью внутреннее.
ВерхНиз