Плагин MyFurniture PREMIUM [1.26.3.29]

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° вращение (например, потолочные вентиляторы).
  • Анимация сохраняет исходное вращение при установке мебели.
  • Разрушение или выгрузка чанка с анимированной мебелью корректно очищает все сущности.
Безопасность и оптимизация ресурспака
  • Обфускация пака (obfuscatePack: true) — заменяет все имена моделей и текстур на случайные UUID, чтобы затруднить извлечение кастомных ресурсов.
  • Интеграция PackSquash (usePackSquash: true) — оптимизация ресурспака с помощью PackSquash, уменьшение размера до 75%. Требуется отдельная установка PackSquash.
  • Кэширование пака — пропускает генерацию, если ничего не изменилось; автоматически сбрасывается при изменении настроек обфускации или PackSquash.
  • Валидация пака — проверка всех PNG и JSON на повреждения при каждой сборке.
  • SHA-1 проверка — отправка клиентам хэша целостности пака.
Кастомные текстуры GUI
  • Меню редактора мебели теперь имеют тёмную деревянную тему с использованием bitmap font providers.
Автор: bobobo
  • Исправлена проблема с кастомной командой 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 из инвентаря игрока
Автор: bobobo
  • SCore — пользовательскую команду SET_EQUIPPABLE_MODEL теперь можно безопасно применять к ванильным предметам (например, используя EI_CLICK_ON_ANOTHER_INVENTORY_ITEM из EI).
    Теперь она не изменяет слот экипировки предмета (раньше слот автоматически менялся на голову).

Спасибо Nesseley за баунти.
Автор: bobobo
  • SCore — исправлен краш, который мог возникать при использовании пользовательской команды ADD_TEMPORARY_ATTRIBUTE
Автор: bobobo
  • SCore — внутренние изменения
  • EI — исправлена проблема с PLAYER_RECEIVE_EFFECT (событие не срабатывало, если у игрока уже был тот же эффект, но более низкого уровня)
Автор: bobobo
  • Исправлена небольшая проблема с HeadFeatures.
  • Добавлен вьетнамский язык.
  • Добавлен аргумент smelt для INLINE_MINEINCUBE, MINEINCUBE, MINEINSPHERE, VEIN_BREAKER.
  • Добавлена опция в аргумент direction у INLINE_MINEINCUBE, использующая логику XZ из Player Expansion для PlaceholderAPI (также добавлена собственная логика для направлений UP/DOWN).
  • Исправлена проблема с ограничением bundle в версии 1.21.2+.
Большая часть обновления выполнена Special70, спасибо ему.
Автор: bobobo
  • Обновлён плейсхолдер checkvar ei.
  • Добавлен комментарий с указанием на устаревание настройки itemCheckWithNBTAPI.
Автор: bobobo
Исправлена проблема с кастомной командой ADD_TEMPORARY_ATTRIBUT
  • Некоторые другие мелкие изменения
Автор: bobobo
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
Автор: bobobo
Исправления ошибок:
  • Исправлено ArrayIndexOutOfBoundsException при разборе HTTP-запросов при получении повреждённых или неполных строк запроса.
  • Исправлено NullPointerException, возникавшее при закрытии HTTP-соединения до чтения строки запроса.

SCore (все плагины)
Исправления ошибок:

  • Исправлено, что команда /score clear <player> BOSSBARS также очищала частицы из-за отсутствующего break в switch.
  • Исправлено, что команда /score clear <player> PARTICLES завершалась без сообщения об успешном выполнении.
  • Исправлено возможное NullPointerException при выполнении /score clear с UUID оффлайн-игрока.
Автор: bobobo
ВерхНиз