SCore — список изменений (все плагины):
- Теперь можно использовать плейсхолдеры в переменных SCore и указывать, будут ли они обрабатываться через параметр parsePlaceholders: true/false
- Игроки теперь могут отключать частицы с помощью команды /score particles-toggle
- Исправлена совместимость со Spigot
- Исправлена проблема с французским языком
- Исправлена ошибка управления версиями
- Плагины протестированы и работают с версией 26.1
MyFurniture — список изменений:
Система анимации BlockbenchБезопасность и оптимизация ресурспака
- Анимированная мебель из моделей Blockbench — поместите .bbmodel файл в plugins/MyFurniture/animations/ и выполните /mf pack. MyFurniture автоматически генерирует все ресурсы пакета (модели, текстуры, предметы) и создаёт конфиг мебели.
- Проигрывание/остановка анимаций с помощью правого/левого клика или через команды отображения RUN_ANIMATION / STOP_ANIMATION в активаторах.
- Поддержка циклических анимаций, ключевых кадров для каждой кости (позиция, вращение, масштаб), несколько анимаций на одну модель и плавное 360° вращение (например, потолочные вентиляторы).
- Анимация сохраняет исходное вращение при установке мебели.
- Разрушение или выгрузка чанка с анимированной мебелью корректно очищает все сущности.
Кастомные текстуры GUI
- Обфускация пака (obfuscatePack: true) — заменяет все имена моделей и текстур на случайные UUID, чтобы затруднить извлечение кастомных ресурсов.
- Интеграция PackSquash (usePackSquash: true) — оптимизация ресурспака с помощью PackSquash, уменьшение размера до 75%. Требуется отдельная установка PackSquash.
- Кэширование пака — пропускает генерацию, если ничего не изменилось; автоматически сбрасывается при изменении настроек обфускации или PackSquash.
- Валидация пака — проверка всех PNG и JSON на повреждения при каждой сборке.
- SHA-1 проверка — отправка клиентам хэша целостности пака.
- Меню редактора мебели теперь имеют тёмную деревянную тему с использованием bitmap font providers.
Примеры использования:
- Исправлена проблема с кастомной командой SET_EQUIPPABLE_MODEL
- Команды, ранее разделённые:
- Только для игрока FORCE_DROP (режим ei_id, имена: FORCE_DROP, DROPSPECIFICEI)
- Смешанный FORCEDROP (режим slot, имя: FORCEDROP)
теперь объединены в одну MixedCommand, поддерживающую оба параметра: slot: и ei_id:
- FORCE_DROP slot:-1 — выбросить предмет из слота основной руки сущности/игрока
- FORCE_DROP ei_id:MyExecutableItem — выбросить указанный EI из инвентаря игрока
- SCore — пользовательскую команду SET_EQUIPPABLE_MODEL теперь можно безопасно применять к ванильным предметам (например, используя EI_CLICK_ON_ANOTHER_INVENTORY_ITEM из EI).
Теперь она не изменяет слот экипировки предмета (раньше слот автоматически менялся на голову).
Спасибо Nesseley за баунти.
- SCore — исправлен краш, который мог возникать при использовании пользовательской команды ADD_TEMPORARY_ATTRIBUTE
- SCore — внутренние изменения
- EI — исправлена проблема с PLAYER_RECEIVE_EFFECT (событие не срабатывало, если у игрока уже был тот же эффект, но более низкого уровня)
Большая часть обновления выполнена Special70, спасибо ему.
- Исправлена небольшая проблема с HeadFeatures.
- Добавлен вьетнамский язык.
- Добавлен аргумент smelt для INLINE_MINEINCUBE, MINEINCUBE, MINEINSPHERE, VEIN_BREAKER.
- Добавлена опция в аргумент direction у INLINE_MINEINCUBE, использующая логику XZ из Player Expansion для PlaceholderAPI (также добавлена собственная логика для направлений UP/DOWN).
- Исправлена проблема с ограничением bundle в версии 1.21.2+.
- Обновлён плейсхолдер checkvar ei.
- Добавлен комментарий с указанием на устаревание настройки itemCheckWithNBTAPI.
Исправлена проблема с кастомной командой ADD_TEMPORARY_ATTRIBUT
- Некоторые другие мелкие изменения
SCore:
Переработана логика плейсхолдера checkamount
Добавлен checkvar как замена плейсхолдеров checkitem (checkitem не умеет корректно определять double, и PR туда отправляться не будет)
Создан собственный извлекатель аргументов, чтобы избежать проблем при обработке аргументов с подчёркиваниями
ExecutableItems:
Добавлены плейсхолдеры для PLAYER_PICKUP_ITEM
%item_type% — возвращает тип материала
%item_name% — возвращает отображаемое имя ItemStack
%item_amount% — возвращает количество предметов
%item_cmdata% — возвращает значение custom model data
%item_cmdata_f_0% — возвращает первое значение из массива float custom model data
%item_cmdata_s_0% — возвращает первое значение из массива string custom model data
Исправления ошибок:
- Исправлено ArrayIndexOutOfBoundsException при разборе HTTP-запросов при получении повреждённых или неполных строк запроса.
- Исправлено NullPointerException, возникавшее при закрытии HTTP-соединения до чтения строки запроса.
SCore (все плагины)
Исправления ошибок:
- Исправлено, что команда /score clear <player> BOSSBARS также очищала частицы из-за отсутствующего break в switch.
- Исправлено, что команда /score clear <player> PARTICLES завершалась без сообщения об успешном выполнении.
- Исправлено возможное NullPointerException при выполнении /score clear с UUID оффлайн-игрока.