- Migrate the GUI to CraftUX
This is my GUI library that contains some common GUI logic and performance improvements. It eliminates the manual guess-work of finding where in the old GUI code to add features.
The new library allows me to finally wrap all the common code and focus on the specific details of each interfaces, making it more intuitive to add new features like Custom Commands in Decorate Items (available in the next update).
Although I tested it in my test server, this is considered as a breaking change. Make sure to test it before updating on your production server.
Нормализован тип пользовательских предметов
Добавлена небольшая функция, позволяющая указывать предмет как по его основному типу, так и по алиасам (например, как в ItemsAdder с алиасом «IA»). Это важно для случаев использования встроенной функции продажи.
Добавлен плейсхолдер для статуса хранилища
%exstorage_status% — отображает текущий статус хранилища.
- Исправлена редкая ошибка, из-за которой GUI хранилища ломался у игроков, не имеющих значения текстуры по какой-либо причине
Ленивая загрузка предметов
В этом обновлении UniItem был обновлён для использования нового Item Wrapper. Теперь предметы загружаются только тогда, когда это действительно необходимо.
Загрузка базы данных при включении плагина
Поскольку предметы теперь загружаются лениво, больше нет необходимости проверять базу данных на соответствие предметам для валидации. Поэтому база данных загружается сразу при запуске сервера, что обеспечивает целостность данных. Также была убрана проверка при входе, из-за которой игрок мог быть кикнут, если база данных ещё не была полностью загружена.
Добавлен кэш в Item Fetcher
- Старый Item Builder заменён на CraftItem. Внутренний метод создания предметов в GUI теперь использует CraftItem. Изменений в конфигурации нет.
- Добавлены недостающие проверки некорректных предметов в GUI фильтра и продажи.
- Добавлена проверка, отключающая функцию подбора предметов при обнаружении WildStacker.
- Поведение WildStacker считается проблемным: отсутствует корректный способ обработки стакнутых предметов при их подборе игроками, что может приводить к дюпу в хранилище. Поэтому функция подбора предметов теперь автоматически отключается при наличии WildStacker.
Правильное назначение Max Space для новых игроков
Теперь при присоединении новых игроков к серверу плагин должен назначать им Max Space.
Плагин теперь игнорирует любых некорректных пользователей из базы данных, то есть если у игрока было 0 места и 0 предметов в хранилище, его запись в базе будет сброшена.
Как всегда, сделайте резервную копию перед обновлением плагина. Возможно, я не учёл все варианты использования, поэтому обязательно сообщайте о найденных проблемах.
- Добавлена опция LimitWhitelist в конфиг.
Эта опция позволяет ограничить список разрешённых предметов в хранилище только теми, что указаны в Whitelist. Любой предмет вне Whitelist не будет разрешён.- Расширена проверка Blacklist на Item и Pickup Listener.
Теперь проверка применяется в большем числе сценариев: при поднятии предмета, добавлении предмета в хранилище и добыче блока. Это позволяет серверам лучше управлять предметами в хранилище игроков.
- Добавлены проверки для предотвращения ошибок с null предметами.
- Теоретически это должно исправить все исключения, связанные с некорректными предметами в хранилище.
- Если ваш кастомный предмет по какой-то причине помечен как некорректный, включите Debug в конфиге и проверьте соответствующие строки в логах сервера. Также можно отправить логи с включённым режимом Debug на Discord-сервер поддержки для помощи.
- Обновлён Topper для исправления проблемы с типами данных при первом создании таблиц MySQL.
- Расширена поддержка кастомных звуков в Pickup Sound и UI Click.
- Также теперь можно отключить звук, оставив значение пустым.
- Добавлена поддержка Folia
- Некоторые события были адаптированы для совместимости — патч простой, но рекомендуется тщательно протестировать перед использованием на продакшн-серверах Folia
- Внесены несколько изменений без нарушения совместимости