pnCases - Плагин на кейсы 1.19.x - 1.21.x.

Плагин pnCases - Плагин на кейсы 1.19.x - 1.21.x. 1.5.1

Создайте и подтвердите аккаунт для скачивания
pnCases 1.5.1

Большое обновление системы кейсов, анимаций, витрин и интерфейсов

Кейсы стали самостоятельными YAML-конфигурациями, Machine получил новую структуру меню, добавлены новые анимации и темы витрины, а хранение наград и пользовательских настроек стало надёжнее.​

ЧТО НОВОГО

Самостоятельные кейсы в cases/*.yml

• Убрана привязка кейсов к заранее заданным типам вроде money или luckperms.

• Каждый кейс создаётся командой:

/pncases createcase

• Каждый кейс хранится в отдельном файле:

cases/.yml

• В одном кейсе можно свободно сочетать предметы, деньги Vault, поинты PlayerPoints, группы и права LuckPerms, а также персональные команды.

• Имя файла является внутренним ID кейса.

• Параметр display-name отвечает за отображаемое название кейса в GUI, голограммах, ключах и сообщениях.

• Новый кейс сразу получает одноимённый ключ без суффикса _key.

• Команды /givekey, /takekey, /setcase, /delcase и автодополнение работают с актуальными ID кейсов и ключей.

• Исправлено удаление файла кейса и его привязанных блоков через команду:

/pncases delcase

• Команда /pncases setcase привязывает выбранный кейс к блоку без копирования чужого шаблона.

Новая архитектура конфигурации кейса

• Секция blocks теперь расположена в начале файла.

• Списки слотов сохраняются в компактном формате:

[0, 1, 2]

• Конфигурация разбита на понятные секции:

• Голограмма.
• Витрина.
• GUI.
• Broadcast.
• Стоимость.
• Анимация.
• Награды.

• Виртуальный ключ и цена открытия теперь определяются самим кейсом.

• Всегда используется один ключ с ID кейса.

• Лишние параметры cost.type, cost.key и cost.amount удалены.

• Покупка ключа за опыт перенесена из плоских параметров buy_xp_* в секцию cost.xp-purchase.

• Из создаваемых файлов убраны лишние технические поля витрины:

• interval_ticks.
• radius.
• height.
• speed.

Для этих параметров используются внутренние безопасные значения.

• Удалён дублирующий параметр idle-particles.effects.

• Включение витрины теперь управляется одним параметром enabled.

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

• Убраны повторяющиеся комментарии-заголовки перед каждой секцией.

• Обычное сохранение больше не создаёт рядом лишние .bak-файлы.

• Резервная копия .broken.bak создаётся только при обнаружении повреждённого YAML.

• Запись YAML выполняется через временный файл с проверкой и атомарной заменой.

Настройки GUI внутри каждого кейса

• Кнопка кейса перенесена из общего gui.yml в:

cases/.yml → gui.button

• Каждый кейс может иметь собственный материал основной кнопки.

• Поддерживается собственная Base64-текстура.

• Можно настроить название кнопки.

• Можно настроить lore кнопки.

• Старое поле gui.open-item автоматически переносится в gui.button.

• Устранено предупреждение о якобы отсутствующем gui.open-item.

• Пустые строки в конце lore сохраняются, поэтому оформление больше не обрезается.

• Параметр item_data больше не мешает явно заданным name и lore.

• Название кнопки, ключа и голограммы корректно обновляется после изменения display-name.

• Для состояния нехватки ключей добавлены настройки:

• gui.insufficient-keys.name.
• gui.insufficient-keys.lore.

• Добавлен параметр gui.preview_enabled.

При значении true:

• ЛКМ показывает содержимое кейса.
• ПКМ открывает кейс.

При значении false:

• ЛКМ сразу открывает кейс.
• ПКМ сразу открывает кейс.

• Переключатель просмотра содержимого доступен в Machine.

Настраиваемая история и разметка слотов

• Пустой элемент истории настраивается отдельно для каждого кейса через gui.history.empty.

• Старое поле gui.history.empty-item автоматически переносится в новую секцию.

• Иконку пустой истории можно изменить предметом с курсора в Machine.

• Разметка меню позволяет назначать слоты для:

• Основной кнопки.
• Выбора анимации.
• Истории.
• Декора.
• Пустого пространства.

• Обязательные роли при переносе корректно меняются местами и больше не создают дубликаты.

• Если выбор анимации отключён и слот 49 освобождён, его автоматически занимает история.

• При повторном включении пользовательского выбора слот возвращается кнопке анимации.

• Исправлен пустой 50-й слот в стандартной разметке нового кейса.

Редкости и предпросмотр наград

Добавлены редкости:

• COMMON.
• UNCOMMON.
• RARE.
• EPIC.
• LEGENDARY.
• MYTHIC.

• Название, цвет, символ и свечение каждой редкости настраиваются в:

gui.yml → preview.rarities

• Цвет и символ объединены в одном поле name.

Пример:

&d✹ Мифическая

• В заголовке создаваемого кейса перечислены все допустимые ID редкостей.

• Предпросмотр показывает реальную вероятность выпадения без технического веса.

• Из публичного lore убраны внутренний тип награды, команды и служебные пояснения.

• Кнопка «Содержимое кейса» получила отдельную Base64-иконку.

• Кнопка получила короткое RGB-название без лишнего lore.

• Стрелки страниц полностью скрываются, если все награды помещаются на одной странице.

• Для нескольких страниц используются отдельные Base64-кнопки:

• Назад.
• Вперёд.
• Недоступное направление.

Персональные сообщения и broadcast

• Сообщение об успешной выдаче задаётся непосредственно в конкретной награде через rewards[].message.

• Из messages.yml удалены общие успешные сообщения:

• reward.default.
• reward.luckperms.
• reward.vault.
• reward.playerpoints.

• Если message у награды отсутствует, лишнее сообщение игроку не отправляется.

• Системные ошибки провайдеров и неверных предметов по-прежнему настраиваются в messages.yml.

• Broadcast перенесён из общего messages.yml в каждый файл кейса.

• Для каждого кейса broadcast можно отдельно включить или выключить через broadcast.enabled.

• Строки broadcast задаются в broadcast.lines.

Поддерживаемые плейсхолдеры:

• {player}.
• {case}.
• {case_id}.
• {reward}.

Тип награды PERSONAL

• Добавлен тип награды PERSONAL.

• PERSONAL выполняет персональную консольную команду.

В командах доступны плейсхолдеры:

• {player}.
• {uuid}.

• Команда сохраняется вместе с отложенной наградой в SQLite, MySQL и MongoDB.

• Для JDBC-хранилищ добавлена автоматическая миграция поля command.

• В комплект добавлен файл cases/test.yml.

В нём находятся примеры наград:

• ITEM.
• VAULT.
• PLAYERPOINTS.
• LUCKPERMS.
• PERSONAL.
• Кастомные Base64-головы.

АНИМАЦИИ ОТКРЫТИЯ

Новые анимации

Дыхание дракона

Крупный дракон из частиц облетает кейс, снижается и выдыхает пламя, из которого появляется награда.

Голодный мимик

Сундук оживает, проглатывает ложные награды и выдаёт выигранную.

• Обе новые анимации отмечены меткой NEW в меню выбора.

• Полностью удалена старая анимация CAULDRON — «Астральный разлом».

Новая архитектура анимаций

• Современные реализации для Minecraft 1.21+ перенесены в animation/main.

• Совместимые реализации перенесены в animation/legacy.

• Для Minecraft 1.16.5 принудительно используется совместимый «Круг фортуны».

• Для Minecraft 1.17–1.20 используется отдельный совместимый режим без загрузки классов Display Entities.

• Все открытия работают через единый жизненный цикл AnimationRun.

• Контекст открытия централизованно отслеживает:

• Задачи.
• Временные сущности.
• Listener-ы.
• Изменённые блоки.

Единая очистка выполняется при:

• Успешном завершении.
• Ошибке запуска.
• Выходе игрока.
• Выгрузке мира.
• Выключении плагина.

• Добавлен watchdog, который завершает зависшее открытие и не оставляет кейс заблокированным.

• Звуки анимаций перенесены в код.

• Громкость звуков приведена к единому безопасному диапазону.

Единое отображение награды

• Все современные анимации используют единый визуальный предмет и подпись награды.

• Убран отдельный title с названием награды по центру экрана.

• Название награды остаётся над вращающимся предметом и следует за ним до завершения.

• Исправлены лишние и зависшие TextDisplay, которые появлялись под блоком кейса.

• Для отображения используется настоящий визуальный предмет награды.

• Поддерживается отображение Base64-голов.

• Количество частиц в момент выпадения уменьшено.

• Предмет и его название больше не перекрываются финальным эффектом.

Защита сцены

• Пока идёт анимация, посторонние игроки мягко отталкиваются от кейса в радиусе 5 блоков.

• Открывающий игрок удерживается за пределами радиуса 3 блоков.

• Защита отключается сразу после завершения или отмены открытия.

ПОЛНОСТЬЮ НОВАЯ ВИТРИНА КЕЙСА

Старые стили заменены полноценными темами витрины.

Доступные темы:

• Арканный ритуал.
• Разлом пустоты.
• Штормовая клетка.
• Огненный феникс.
• Ядовитая кобра.
• Ледяная корона.
• Плач душ.
• Зов левиафана.
• Небесные крылья.
• Драконья орбита.

• Каждая тема получила собственный силуэт, движение, траекторию и цветовую композицию.

• Феникс, левиафан и дракон перемещаются вокруг кейса.

• Небесные крылья получили анимацию взмахов.

• Статичным сценам сохранена устойчивая композиция.

• Витрина больше не создаёт предмет или сундук над блоком.

• Отображается только выбранная анимация частиц.

• Оставлена одна кнопка включения витрины.

• Оставлена одна кнопка выбора темы.

• Дублирующий переключатель эффектов удалён.

• После изменения в Machine обновляется только витрина выбранного кейса, а не все кейсы сервера.

• Старые служебные display-сущности витрин очищаются при загрузке и выключении плагина.

НОВЫЙ MACHINE И ДИЗАЙН GUI

• Machine полностью перестроен на отдельные понятные экраны:

• Основные настройки.
• Меню кейса.
• Анимация.
• Голограмма.
• Витрина.
• Покупка за опыт.
• Разметка.

• Удалён лишний экран «Быстрые настройки».

• Повторяющиеся иконки заменены уникальными Base64-текстурами.

• Кнопки «Вернуться» и «Выйти» используют единую красную Base64-иконку без лишнего lore.

• Основные кнопки получили собственные Base64-иконки.

• Категории получили собственные Base64-иконки.

• Анимации получили собственные Base64-иконки.

• Темы витрины получили собственные Base64-иконки.

• Системные действия получили собственные Base64-иконки.

• Заголовки Machine и меню выбора анимации используют чёрный цвет &0.

• Пользовательские заголовки самих кейсов остаются настраиваемыми.

• Lore Machine приведён к единому RGB-дизайну.

Используются разделы:

• Основная информация.
• Текущие параметры.
• Действие.

• Плейсхолдеры голограммы отображаются в Machine уже подставленными.

• Вместо буквального текста {display-name} показывается настоящее название кейса.

• В gui.yml оставлены только изменяемые пользовательские тексты, lore предпросмотра и оформление редкостей.

• Слоты, навигация, системные иконки, звуки и дизайн Machine теперь находятся в коде.

Выбор анимаций

• Анимации разделены на две категории:

• Обычные.
• С мобами.

• Разделы доступны игрокам и администраторам в Machine.

• Категории и кнопка возврата используют Base64-головы.

• Убраны служебные строки о категории, технических эффектах и внутреннем способе отображения.

• Каждая анимация получила RGB-название.

• Каждая анимация получила собственную иконку.

• Каждая анимация получила понятное визуальное описание.

• Выбор игрока хранится отдельно для каждого сочетания «игрок + кейс».

• Исправлена ошибка, из-за которой разные кейсы использовали одну общую выбранную анимацию.

Плавное и безопасное обновление GUI

• Сервисы анимации открытия и обновления слотов вынесены в общую библиотеку pnLibrary.

• Эти сервисы можно повторно использовать в других плагинах.

• GUI появляется от центра к краям.

• Поддерживаемые сервером заголовки раскрываются плавно.

• Быстрое закрытие и повторное открытие больше не оставляет инвентарь частично пустым.

• Незавершённая сессия сначала восстанавливает все предметы.

• Отложенное обновление проверяет, что у игрока всё ещё открыт нужный инвентарь.

• При изменении настройки обновляются только действительно изменившиеся слоты.

• При наличии ProtocolLib дополнительно отправляется отдельный пакет SET_SLOT.

• При отправке отслеживаются containerId и stateId.

• Bukkit-инвентарь остаётся основным состоянием.

• Без ProtocolLib используется безопасное штатное обновление.

• Убраны мигание и повторное раскрытие всего меню.

• Убрано одновременное обновление соседних Base64-кнопок.

ИСПРАВЛЕНИЯ

Отложенные награды и хранение

• Pending-награда записывается до запуска анимации.

• Pending-награда больше не может быть перезаписана другим открытием.

• Исправлена блокировка следующего открытия сообщением о необходимости сначала получить отложенную награду.

• Активная анимация не позволяет обработчику входа преждевременно выдать её pending-награду.

• При ошибке сохранения стоимость безопасно возвращается, если отсутствие записи подтверждено.

• Если состояние хранилища определить нельзя, открытие останавливается без повторной выдачи.

• Старая однозначно определяемая PERSONAL-награда без сохранённой команды может быть восстановлена из актуальной конфигурации.

• Настройки выбранной анимации сохраняются по ID кейса в SQLite, MySQL и MongoDB.

Кейсы, шаблоны и голограммы

• При применении настроек кейса обновляются не только награды, но и связанные визуальные параметры.

• После изменения конкретного кейса обновляются только его голограмма и витрина.

• Остальные кейсы не пересоздаются.

• Исправлено сохранение нового display-name во всех меню и подсказках команд.

• Исправлено удаление кейса.

• Исправлена очистка ключа удалённого кейса.

• Исправлено обновление списка загруженных кейсов.

• Конфликтующие привязки блоков обнаруживаются до применения новой конфигурации.

• При ошибке YAML старые рабочие кейсы остаются активными вместо частичной перезагрузки.

• FancyHolograms и DecentHolograms используют единый жизненный цикл.

• Добавлен безопасный выбор провайдера AUTO.

Команды и сообщения

• Панель /pncases получила отдельный блок состояния.

В нём отображаются:

• Версия плагина.
• Поддерживаемые серверы.
• Информация об обновлении.
• Discord.

• Информация отображается без скрытого hover.

• Команды в панели стали интерактивными.

• Нажатие подставляет выбранную команду в строку чата.

• Из YAML удалена большая статическая служебная секция command-menu.

• Исполнитель команд и автодополнение объединены в одном классе.

• Автодополнение показывает только существующие кейсы и реально используемые ключи.

• Из messages.yml удалён неиспользуемый параметр primary.

• config.yml сокращён до настроек базы данных, провайдера голограмм и символов наград.

• Удалён неиспользуемый параметр case-files.auto-export.

pnCases 1.5.1

Полностью переработанная система кейсов с самостоятельными конфигурациями, новыми анимациями, витринами и обновлённым Machine.​
Обновление pnCases 1.5.0

Вышло новое обновление плагина.
Посмотреть список изменений и скачать актуальную версию можно здесь:

You must be logged in to see this link.
pnCases 1.4.9

Гибкая настройка наград, собственные редкости и обновлённая архитектура

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Версия 1.4.9 расширяет возможности оформления кейсов и наград.

Основное внимание уделено окну «Содержимое кейса», настройке редкостей и отображению разных типов наград.

Теперь внешний вид меню можно полностью адаптировать под стиль вашего сервера: изменить расположение элементов, оформление наград, навигацию, декор, звуки и информационные строки.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Скачать pnCases 1.4.9

You must be logged in to see this link.

You must be logged in to see this link.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Настраиваемое окно «Содержимое кейса»

Окно предпросмотра наград стало полностью настраиваемым.

В файле:

Код:
plugins/pnCases/gui.yml

можно изменить:

• размер меню;

• слоты для отображения наград;

• количество наград на одной странице;

• декоративные предметы;

• информационную кнопку;

• кнопки перехода между страницами;

• расположение элементов;

• названия и описания кнопок;

• звуки открытия и переключения страниц.

Теперь интерфейс содержимого кейса можно оформить в едином стиле с остальными меню сервера.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Настройка отображения наград

Для предметов в списке наград теперь можно отдельно настроить:

• отображаемое название;

• дополнительное описание;

• показ исходного lore предмета;

• свечение;

• Custom Model Data;

• порядок информационных строк;

• отображение шанса;

• отображение редкости;

• оформление типа награды.

Можно самостоятельно определить, какую информацию увидит игрок и в каком порядке она будет показана.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Собственные редкости

Система редкостей больше не ограничена только стандартными вариантами.

Теперь можно создавать собственные редкости и настраивать для каждой:

• внутренний ID;

• отображаемое название;

• цвет;

• символ;

• описание;

• отдельную иконку;

• Custom Model Data;

• свечение предмета.

Например, можно добавить собственные варианты:

Код:
ANCIENT
DONATE
EVENT
SEASONAL
EXCLUSIVE

Это позволяет оформить редкости под тематику, экономику и визуальный стиль конкретного сервера.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Оформление разных типов наград

Для каждого типа награды можно отдельно настроить отображаемую информацию.

Поддерживается отдельное оформление для:

• обычных предметов;

• денежных наград Vault;

• поинтов PlayerPoints;

• групп и прав LuckPerms;

• наград-команд.

Например, для денежной награды можно показать сумму и символ валюты, для LuckPerms — название привилегии, а для команды — отдельное понятное описание вместо технической команды.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Упрощённый выбор анимации

Настройка анимации открытия теперь занимает одну кнопку в Machine GUI.

ЛКМ — выбрать следующую доступную анимацию.

ПКМ — вернуться к предыдущей анимации.

Это делает переключение режимов быстрее и убирает лишние элементы из меню настройки.

На Minecraft 1.16.5 автоматически остаётся доступна совместимая анимация:

Код:
Круг фортуны

Недоступные для версии сервера анимации не предлагаются в меню.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Переработанная внутренняя структура

Внутренняя архитектура pnCases была полностью перестроена.

Основные системы теперь разделены на самостоятельные модули:

• загрузка и управление кейсами;

• обработка наград;

• интерфейсы и GUI;

• анимации;

• голограммы;

• хранилище данных;

• система обновлений;

• интеграции с другими плагинами.

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

Для администратора структура конфигураций и основные команды остаются привычными.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

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

Поддерживаемые серверы:

• Paper 1.16.5–1.21.11;

• Purpur 1.16.5–1.21.11.

Требуемая версия Java:

• Java 17 или новее.

Опциональные интеграции:

• LuckPerms — группы и права;

• Vault — денежные награды;

• PlayerPoints — награды в поинтах;

• FancyHolograms — голограммы;

• DecentHolograms — голограммы.

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Установка обновления

1.
Скачайте файл:

Код:
pnCases-1.4.9.jar

2. Полностью остановите сервер.

3. Замените старый JAR-файл в папке:

Код:
plugins/

4. Запустите сервер.

5. Проверьте новые параметры в файле:

Код:
plugins/pnCases/gui.yml

Пользовательские настройки, кейсы и данные игроков сохраняются.

Новые параметры gui.yml добавляются автоматически с безопасными значениями по умолчанию.

Для обновления не рекомендуется использовать PlugMan и другие плагины горячей перезагрузки. Выполните полный перезапуск сервера.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

pnCases 1.4.9

Paper / Purpur 1.16.5–1.21.11

Настраиваемые GUI • Собственные редкости • Machine GUI • MiniMessage • SQLite
Назад
Сверху Снизу