- Исправлено: потеря предметов-аугментов в слотах меню, условия шаблонов описания и курсив в описании Nexo (#372, #374, #361).
- Добавлена механика предметов-аугментов.
- Исправлены неполные результаты рецептов.
- Исправлено (предметы): контекст слота теперь доступен в плейсхолдерах навыков предметов.
- Добавлено: добавлены триггеры предметов ~onOffhandEquip и ~onOffhandUnequip для экипировки и снятия предмета с дополнительной руки.
- Исправлено (крафт): теперь используются ванильные варианты рецептов с сохранением названий результатов.
- Исправлено: соединяемая мебель теперь корректно соединяется во всех направлениях.
- Мебель типа ITEM_FRAME (и с размещением Placement: HANGING) ранее не определяла направление, из-за чего элементы соединялись только по оси восток–запад независимо от способа размещения.
- У мебели на базе ARMOR_STAND и дисплеев с трансформацией, отличной от FIXED, направление было инвертировано, из-за чего модели ConnectionModels.Left и ConnectionModels.Right были перепутаны. Если ранее вы настраивали модели с учётом этой ошибки, потребуется вернуть их в нормальное состояние.
- Исправлена ошибка, из-за которой угловой элемент сообщал соседям неверное направление, нарушая соединение всей цепочки.
- Исправлена проблема, при которой модели внешних углов могли заменять модели внутренних углов.
- Исправлена ошибка, из-за которой мебель с барьерными блоками не видела соседние элементы и вместо этого определяла саму себя через собственные барьеры.
- Исправлена ошибка, при которой после поворота мебель оставалась со старой моделью соединения.
- Исправлена ошибка, из-за которой смена State навсегда сбрасывала модель соединения. При этом состояния, явно задающие собственную модель (Model), по-прежнему имеют приоритет.
- Исправлено: устранена ошибка NPE при обновлении предметов без имени отображения (Display Name).
- Улучшение: доработан API для системы обновления предметов (Item Updater) и аугментов (Augments).
- Добавлена команда /crucible items copyto ITEM_ID, которая копирует связанные данные предмета (коэффициенты характеристик, аугменты, зачарования и уровни) в другой предмет.
- API: добавлен метод ItemUpdateManager::copyItemData.
- Добавлены статические плейсхолдеры в раздел Skills для предметов. Их значения считываются из ItemData.KEY: ... при загрузке плагина. Это позволяет использовать динамические навыки для похожих предметов без обработки плейсхолдеров во время работы сервера.
- Исправлено: переработано массовое удаление рецептов при перезагрузке, чтобы избежать зависаний, вызванных повторной загрузкой ресурсов для каждого рецепта.
- Исправлено: событие MythicCrucibleGeneratePackEvent теперь вызывается только после полной генерации ресурспака (#236).
- Исправлено: исправлено двойное срабатывание ~onInteract у предметов при одном клике правой кнопкой мыши (#280).
- Новое:добавлена проверка сгенерированных ресурспаков, импорт паков по URL и пропуск повторной загрузки неизменённых паков.
- При генерации ресурспака теперь выполняется проверка на битые ссылки текстур, а найденные проблемы выводятся в консоль.
- Файлы, которые не являются настоящими PNG (например, JPEG-файлы с изменённым расширением), теперь обнаруживаются и автоматически конвертируются.
- Добавлена возможность импортировать ресурспаки напрямую по URL (Import.FromUrl).
- Повторная генерация идентичного ресурспака больше не приводит к его повторной загрузке или повторной отправке игрокам (Deployment.SkipUnchanged).
- Исправлено: исправлена проблема, из-за которой PackSquash удалял папки overlay из сжатого ресурспака (#378).
- Исправлено: плейсхолдеры item.* теперь регистрируются с учётом префиксов областей видимости, благодаря чему caster.item.* корректно разрешается (#383).
- Исправлено: обработка триггеров ~onJoin и ~onSpawn теперь откладывается до полной загрузки профиля Crucible, благодаря чему навыки предметов в руках и экипировке корректно срабатывают.
- placeFurniture и placeFurnitureResult теперь принимают игрока (Player) в качестве размещающего объекта. Он передаётся в триггер навыка BLOCK_PLACE, что обеспечивает корректную работу связанных механизмов.
- Выполняется только привязка к игроку: событие установки блока и проверки защиты при этом не вызываются.
- Исправлена совместимость с новым API evaluateLocation(SkillMetadata, AbstractLocation)
- Фича: в API добавлено раскрытие площади размещения мебели (furniture footprint) и причин результата размещения.
- Исправление: временно отключён крафтер для рецептов cruci.
- Исправлено: инвентарь мебели теперь сохраняется как BYTE_ARRAY, чтобы большие предметы (например, записанные книги) корректно сохранялись и не упирались в лимит 65535 байт в PDC string.
- Исправлено: сохранение порядка lore у статов — теперь item stats десериализуются в LinkedHashMap, чтобы сохранялся исходный порядок отображения.