Skip to content

pnCases 1.5.3

Choose a tag to compare

@Dy6HiLa Dy6HiLa released this 23 Aug 14:42
· 20 commits to master since this release

pnCases 1.5.3

Версия 1.5.3 обновляет анимации открытия, интерфейсы настройки, голограммы наград, хранение данных и работу конфигураций. Обновление рассчитано на переход с 1.5.2 без повторного создания кейсов и наград.

Добавлено

  • Новая анимация «Грозовая дуэль». Два вооружённых бойца появляются во время грозы, сходятся у кейса, обмениваются атаками и завершают бой электрическим столкновением.
  • Новая анимация «Искажение времени». Часовщик прокручивает разрушение кейса назад, сталкивается со своей будущей версией и стирает произошедшее из времени. После окончания сцены награда появляется отдельно, без закрывающих её частиц.
  • Обе новые анимации отмечены тегом NEW в меню выбора.
  • Поддержка Redis в качестве хранилища наряду с SQLite, MySQL и MongoDB.
  • Автоматическая синхронизация config.yml, gui.yml, messages.yml и файлов cases/*.yml при запуске и перезагрузке плагина.
  • Локализация названий предметов, блоков, зачарований и зелий через pnLibrary.
  • Настраиваемое оформление голограммы выпавшей награды: масштаб, высота, дальность отображения, яркость, задержка появления и плавность перемещения.

Анимации

  • Полные современные анимации используются на Minecraft 1.20.x и 1.21.x с одинаковыми сценариями и визуальным оформлением.
  • Все анимации получили собственные названия и описания в меню выбора.
  • Обычные и мобовые анимации объединены в один список без отдельных разделов.
  • «Круг фортуны» прокручивает предметы наград текущего кейса, постепенно замедляется и останавливается на выбранной награде. Размер предметов автоматически уменьшается при большом количестве элементов.
  • В «Отравлении» восстановлено последовательное отображение ударов.
  • В «Дыхании дракона» восстановлен финальный выдох по кейсу.
  • Для запуска и завершения сцен используется общий жизненный цикл: созданные сущности, временно скрытые блоки и задачи очищаются после завершения или ошибки.
  • При аварии визуальной части выбранная награда всё равно выдаётся безопасно.
  • Удалена отдельная команда и реализация previewanimation, дублировавшая основную систему.

Исправлено

  • Исправлено повторное включение через PlugManX: классы pnCases и встроенные YAML-шаблоны подготавливаются до закрытия JAR, а локализация предметов кэшируется pnLibrary. После restart команды и GUI больше не обращаются к закрытому ZIP-файлу.
  • Исправлено открытие текстовых полей Machine GUI на Paper 1.21.11: в сборку включена актуальная версия AnvilGUI с wrapper 1_21_R7, а JAR явно помечен для преобразования Spigot NMS mappings в серверные Mojang mappings.
  • Исправлено аварийное завершение «Грозовой дуэли» и «Искажения времени» на Paper 1.21.11: частица FLASH теперь получает обязательный Color, сохраняя совместимость с предыдущими версиями сервера.
  • Исправлена ошибка IncompatibleClassChangeError при работе с InventoryView на новых сборках Paper и Purpur.
  • Исправлено аварийное завершение «Грозовой дуэли» на Paper 1.21.4 при экипировке ArmorStand.
  • Исправлены рывки и рассинхронизация предмета с текстом награды в финальных сценах.
  • Увеличена читаемость названия выпавшей награды.
  • Исправлена обработка RGB, RGBA и legacy-цветов в GUI, названиях кейсов и сообщениях, включая последний цвет &f в префиксе.
  • Исправлено применение idle-particles.radius: параметр теперь масштабирует всю фигуру витрины.
  • Значение idle-particles.interval_ticks: 2 больше не заменяется принудительно более медленным интервалом.
  • Исправлена повторная обработка ожидающей награды: до подтверждения удаления записи из хранилища повторное открытие и повторная выдача игроку блокируются.

Голограммы

  • Названия наград отображаются через FancyHolograms или DecentHolograms.
  • Удалён встроенный fallback на TextDisplay.
  • Для работы pnCases требуется один установленный провайдер: FancyHolograms либо DecentHolograms.
  • Логика постоянных голограмм кейсов и временного текста анимаций разделена, поэтому обновление одной голограммы не затрагивает остальные.

GUI и настройка кейсов

  • Переработаны экраны сведений о кейсе, наград, анимаций, меню игроков, голограммы, витрины, покупки ключей и редактора раскладки.
  • Карточки настроек приведены к единой схеме: название, краткое описание, текущее значение и понятные действия ЛКМ/ПКМ.
  • Обновление слотов и анимации открытия GUI выполняются через ProtocolLib.
  • В редакторе наград показывается нормализованный фактический шанс выпадения вместо технического значения веса.
  • Редкости перенесены в основной config.yml и используют формат rarity.<id>.
  • Для предпросмотра награды используется один шаблон lore; отдельный type-lore удалён.
  • Удалён глобальный символ награды. Оформление задаётся названием и визуальным предметом самой награды.
  • Удалена система модулей. Редкости и предпросмотр теперь включаются напрямую через features.rarity и features.preview.
  • GUI-анимация и заголовок открытия всегда являются частью интерфейса и не требуют отдельных переключателей.
  • Убрано неиспользуемое поле usage команды из plugin.yml.

Конфигурации

  • Новые параметры автоматически добавляются в существующие YAML-файлы.
  • Устаревшие стандартные параметры удаляются автоматически.
  • Изменённые владельцем значения не заменяются стандартными.
  • Сохраняются пользовательские награды, привязанные блоки и раскладка меню кейса.
  • Перед заменой файл проверяется через повторное чтение; при ошибке рабочая конфигурация остаётся без изменений.
  • Ручное удаление конфигов или повторная настройка кейсов при переходе с 1.5.2 не требуются.

pnLibrary и данные

  • Запуск плагина, bStats и проверка обновлений переведены на общий PluginRuntime pnLibrary.
  • Выбор SQLite, MySQL, MongoDB или Redis выполняется через DatabaseRouter pnLibrary.
  • Vault и PlayerPoints подключаются через общую экономическую систему pnLibrary.
  • Через хранилище сохраняются ключи, история открытий, выбранные игроками анимации и ожидающие выдачи награды.
  • Удалены локальные копии общих утилит предметов, визуальных сущностей, экономики и локализации.

Совместимость

  • Paper и Purpur: 1.16.5–1.21.11.
  • Java: 17 или новее.
  • Minecraft 1.20.x–1.21.x: полный набор современных анимаций.
  • Minecraft 1.17–1.19: совместимый режим анимаций.
  • Minecraft 1.16.5: совместимая версия «Круга фортуны».
  • ProtocolLib обязателен.
  • FancyHolograms или DecentHolograms обязателен.
  • LuckPerms, Vault и PlayerPoints остаются необязательными.
  • Поддержка Folia в версии 1.5.3 не заявлена.

Обновление с 1.5.2

  1. Полностью остановите сервер.
  2. Замените старый файл на pnCases-1.5.3.jar.
  3. Убедитесь, что установлены ProtocolLib и FancyHolograms либо DecentHolograms.
  4. Запустите сервер и дождитесь завершения автоматической синхронизации конфигураций.
  5. Проверьте сообщения запуска и несколько настроенных кейсов перед открытием сервера игрокам.