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

Последнее обновление перед 7.7
– Исправлено: проблема в meganimation, из-за которой NPC мигал
– Исправлено: ошибки компиляции, связанные с ProGuard
  • Исправлена проблема, из-за которой при использовании /mnpc look npc NPC смотрел вверх.
ModeledNPCs 7.5 теперь сосредоточен на более безопасном запуске и стабильности NPC.
Исправлен сбой при старте, вызванный обращением к npcManager до его инициализации, особенно в системе анимаций (MEGAnimationHandler).
Плагин теперь корректно создаёт менеджеры в нужном порядке, благодаря чему отладочные логи и загрузка анимаций больше не вызывают ошибок NullPointerException при включении.
Также улучшено восстановление NPC: зацикленные анимации ModelEngine, имена MythicMobs, функция AutoLook и голограммы теперь корректно восстанавливаются после перезагрузки без потери пользовательских данных.
  • Разраб неправильно сопоставил инициализацию классов. Я исправил это.
    • Не забываем что плагин работает с ModelEngine

Что нового (море удобств!)​

Новая команда: /mnpcmanage <id>
  • Без ручного редактирования: больше не нужно править meganimation.yml или прописывать длинные команды эффектов вручную. Всё теперь делается через удобный GUI.
  • Переименование и команды в один клик: прямо из GUI можно задать новое имя NPC или добавить команды, вводя их в чат — без громоздкого синтаксиса.
  • Мгновенное обновление голограмм: новое имя сразу отображается на табличке/голограмме без перезапуска. Система также очищает старые «висячие» строки голограмм.
  • Эффекты стали проще: добавляйте зацикленные частицы, частицы при взаимодействии или временные эффекты зелий через GUI (а также с помощью удобной команды /mnpc addeffect).

Новые GUI​

  • Manage GUI — быстрые действия для: переименования, перемещения, переключения статичности, авто-поворота, добавления команд, эффектов и анимаций.
    Команда: /mnpcmanage <id>
  • Effect Editor GUI— редактирование эффектов (также доступно через /mnpceffects или старую /npceffects).
    • Добавление/удаление зацикленных частиц.
    • Частицы при взаимодействии.
    • Эффекты зелий.
  • MEG Animation GUI— управление анимациями ModelEngine.
    • Выбор и зацикливание анимаций без ручной правки файлов.
      Команда: /meganim.
Всем привет! В этом релизе проведён большой рефакторинг системы торговцев: более чистый конфиг, безопасное использование API на 1.21+, встроенные стоки и лимиты, а также новый красивый постраничный GUI. Вот что изменилось:

✨ Основное
  • Новый GUI предложений (SmartInvs) с сеткой 6×9, постраничной навигацией и кнопками Назад/Вперёд
  • Флаги функций для каждого торговца: можно включать/выключать Offers, Stock и Per-Player Limits для каждого NPC
  • Система стоков и перезаполнения с автоматическими таймерами и сохранением данных в runtime-файл
  • Лимиты покупок на игрока с таймерами сброса
  • Безопасная работа с атрибутами 1.21+ (AttributeModifier.Builder, fallback для старых API)
  • Везде поддержка MiniMessage и цветовых кодов (&a, &l и т. д.), опционально PlaceholderAPI
  • Переработка билдера предметов: поддержка model data, зачарований, атрибутов, PDC-тегов, unbreakable, lore и т. д.
  • Поддержка Vault для экономики (с fallback, если Vault отсутствует)
  • Опциональный GUI подтверждения перед покупкой
  • Поддержка старого режима "single trade", если не нужен GUI
👤 Как игроки это используют
  • Клик по NPC → открывается прокручиваемое меню предложений с превью предметов, ценами, стоками и лимитами
  • При включённой опции игроки увидят экран подтверждения перед покупкой
  • Сделки могут требовать деньги, опыт, предметы и давать предметы, деньги или запускать команды
  • Поддерживаются MiniMessage-теги (<green>, <bold>, <br>) и классические коды (&a, &l), плейсхолдеры PlaceholderAPI раскрываются для конкретного игрока
⚙️ Новая структура конфигов (trader.yml)
  • Поддержка настроек для каждого NPC
  • Возможность указывать условия, требования, стоки, лимиты и полноценные GUI-предложения
  • Сохранение данных о текущем стоке и лимитах в trader_runtime.yml (автоматически пересоздаётся при удалении)
🔧 Совместимость и безопасность
  • Minecraft/Spigot 1.21+: используется AttributeModifier.Builder
  • Старые версии: fallback на старый конструктор (работает даже если устарел)
  • Атрибуты и зачарования через Registry (без устаревших методов)
  • Поддержка гибких имён ключей: minecraft:generic.attack_damage, generic.attack_damage, GENERIC_ATTACK_DAMAGE
📋 Чеклист для админов после обновления
  • Сделайте бэкап trader.yml и trader_runtime.yml
  • Обновите trader.yml под новую структуру (см. примеры)
  • Если использовались хардкодные имена NPC/голограммы — убедитесь, что применяются форматированные имена (чтобы <green> не отображалось как текст)
  • Убедитесь, что Vault установлен, если используете деньги
  • Протестируйте предложение со стоками и лимитами
  • По желанию удалите trader_runtime.yml, чтобы начать с чистыми данными
🐞 Исправления и улучшения
  • Исправлено отображение тегов <green> как текста — теперь MiniMessage и & коды обрабатываются корректно
  • Заменены устаревшие API атрибутов, добавлен fallback для старых серверов
  • Более надёжный парсинг EquipmentSlotGroup (ANY, HAND, MAINHAND, OFFHAND, ARMOR, HEAD, CHEST, LEGS, FEET)
  • Более чистая обработка ошибок и опциональные debug-логи
🙏 Благодарности
Спасибо всем за обратную связь и репорты — обновление сделано во многом благодаря вашим предложениям. Если найдёте баги — отправляйте trader.yml и шаги воспроизведения, я сразу посмотрю!
  • Плагин теперь полностью совместим с 1.21.8 и последними версиями modelengines и mythicmobs!
ВерхНиз