Skip to content

pnCases 1.5.0

Choose a tag to compare

@Dy6HiLa Dy6HiLa released this 17 Jul 12:55
· 29 commits to master since this release

pnCases 1.5.0

Версия 1.5.0 полностью обновляет создание и настройку кейсов: теперь каждый кейс — самостоятельный файл, а интерфейсы стали проще, аккуратнее и стабильнее.

Важно для обновления с 1.4.9. В 1.5.0 полностью изменена логика создания, хранения и настройки кейсов. Рекомендуем удалить старую папку plugins/pnCases от версии 1.4.9, установить новый JAR и настроить кейсы заново через /pncases createcase <id>.

Приносим извинения за необходимость такой переустановки. Это решение нужно, чтобы избавиться от старых шаблонов и конфликтующей логики и перейти на новую самостоятельную систему кейсов.

Что нового

Самостоятельные кейсы

  • Кейсы создаются через /pncases createcase <id> и хранятся в отдельных файлах cases/<id>.yml.
  • Базовые шаблоны кейсов убраны: новый кейс можно настроить с нуля под любые награды.
  • При создании автоматически появляется ключ с ID кейса — без суффикса _key.
  • Отображаемое название ключа берётся из display-name самого кейса.
  • /pncases delcase <id> удаляет сам файл кейса и его ключ.
  • /pncases setcase <id> не создаёт кейс по опечатке: сначала его нужно явно создать через /pncases createcase <id>.
  • После создания или выбора кейса команда подсказывает дальнейшую настройку через /pncases machine.

Награды

  • Добавлен пятый тип награды PERSONAL для собственных команд.
- type: PERSONAL
  chance: 10
  command: "give {player} diamond 1"
  name: "&dЛичная награда"
  visual:
    material: COMMAND_BLOCK
  • Команда выполняется от консоли; доступны плейсхолдеры {player} и {uuid}.
  • Все типы наград корректно отображаются в предпросмотре и в анимациях.

Machine и интерфейсы

  • Machine GUI переработан: настройка названия, разметки, кнопки открытия, декора, истории, витрины, голограммы и анимаций собрана в понятные разделы.
  • Оформление Machine перенесено из gui.yml в код: в конфиге больше нет конфликтующих секций machine.
  • Название, lore и остальные визуальные настройки корректно меняются после редактирования кейса.
  • Переработаны выбор кейса, выбор игрока и выбор анимации: компактный lore, понятные действия и аккуратная сетка кнопок.
  • Витрина кейса очищена от лишних технических параметров и дублей иконок.
  • Настройка витрины оставляет только нужные параметры: предмет, тему, стиль и переключатели эффектов.
  • AIR в gui.yml можно использовать как пустой слот.
  • У предметов GUI скрыты атрибуты: урон, скорость атаки и служебные подсказки не мешают дизайну.
  • Предпросмотр наград встроен в главную кнопку кейса:
    • ЛКМ — посмотреть содержимое;
    • ПКМ — открыть кейс.
  • Убрана отдельная кнопка предпросмотра и повторяющиеся подсказки действий.
  • Кнопки навигации и возврата используют кастомные Base64-иконки.
  • Иконка «Содержимое кейса» получила отдельную текстуру и RGB-название без лишнего lore.
  • Ошибка нехватки ключей оформлена отдельной иконкой без дублирования текста.
  • Предметы и заголовки GUI появляются с анимацией, без полного переоткрытия меню.
  • Динамические изменения GUI отправляются только в изменившиеся слоты, поэтому меню не мигает и не открывается заново.
  • При выключении pnCases все открытые меню корректно закрываются, а задачи их анимации отменяются.

Анимации и мир

  • Добавлены и обновлены анимации открытия, включая «Водяную капсулу» и «Охоту на стражей».
  • В «Охоте на стражей» новые режимы отмечаются в Machine, а служебное предупреждение о мобах видит только администратор.
  • «Водяная капсула» временно превращает кейс в стеклянную сцену с сердцем моря, призмариновыми кристаллами, частицами воды и плавным появлением награды.
  • Сердце моря в «Водяной капсуле» увеличено и дополнено движением, чтобы сцена не выглядела статичной.
  • «Круг фортуны», «Набег разбойников» и «Водяная капсула» сохраняют полный BlockState исходного блока перед началом эффекта.
  • Во время анимации вокруг кейса действует защитная зона:
    • открывающего отталкивает ближе 3 блоков;
    • остальных игроков — ближе 5 блоков.
  • Временные сущности, витрины и блок кейса корректно очищаются и восстанавливаются после завершения, отмены, unload мира или выключения плагина.

Хранилище и форматирование

  • Поддерживаются SQLite, MySQL и MongoDB.
  • Через pnLibrary поддерживаются MiniMessage, обычные цвета &a и §a, а также HEX-формат &#RRGGBB.

Исправления

  • Исправлена смена визуала кейса в Machine: теперь после изменения применяются название, lore, GUI, голограмма, витрина и анимация выбранного кейса.
  • Исправлено обновление display-name в меню и у ключа.
  • Исправлено удаление кейса через /pncases delcase.
  • Устранены дубли строк «ПКМ — открыть кейс».
  • Исправлены конфликты слотов в меню и обновление GUI без мигания.
  • В GUI размером 9–54 исправлены коллизии ролей open, animation, history и decor: кнопка открытия сохраняет приоритет.
  • Улучшена безопасная загрузка и сохранение файлов кейсов: повреждённая конфигурация не должна сбросить уже работающие кейсы.
  • Один блок нельзя одновременно привязать к нескольким кейсам.
  • ID самостоятельного кейса канонически берётся из имени cases/<id>.yml, поэтому поле id не может незаметно подменить другой кейс.
  • Запись config.yml и cases/*.yml выполняется через временный файл, повторное чтение, .bak-копию и атомарную замену; при ошибке команда не сообщает ложный успех.
  • Миграция старых кейсов из config.yml:cases в отдельные файлы не теряет привязки: экспорт проверяется до удаления старой секции, а прошлые файлы сохраняются в .bak.
  • Обновления применяются точечно к нужному кейсу: чужие голограммы и витрины не пересоздаются.
  • Экраны Machine после изменения обновляют только изменившиеся слоты и не запускают повторную анимацию появления.
  • Исправлена ситуация, в которой изменение анимации или Machine одного кейса заставляло голограммы других кейсов пропадать и появляться заново.
  • Усилена очистка объектов витрины: при unload, load, reload и выключении плагина не остаются предметы или display-сущности над кейсом.
  • Устранены дубли названий анимаций и лишние элементы в меню настроек.

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

  • Paper / Purpur 1.16.5–1.21.11
  • Java 17+
  • На современных версиях используются Display-сущности и расширенные эффекты; на старых версиях сохраняется безопасный режим анимаций.
  • Дополнительно поддерживаются LuckPerms, Vault, PlayerPoints, FancyHolograms, DecentHolograms и ProtocolLib.

Установка

  1. Замените старый JAR на pnCases-1.5.0.jar в папке plugins/.
  2. Полностью перезапустите сервер.
  3. Для создания нового кейса используйте /pncases createcase <id>.