01Чем различаются три функции
quality.ItemConfig.quality, ItemConfig.rarity, QualityRegistryEntry.02Определение и привязка качества
ID качества — строка, а не старый числовой уровень. Допустимы 1–64 строчных латинских буквы, цифры, _, -, ..
Определение каждого качества берётся из датапака data/<пространство имён>/healthy_diet/quality_levels/<id>.json. Можно задать текст, цвет или схему цветов, сегментированный текст и текстуру оверлея; ID доступен для привязки к существующим предметам и для ссылки при регистрации новых.
config/healthy_diet/datapack/data/healthy_diet/healthy_diet/quality_levels/fresh.json
Здесь fresh — лишь пример допустимого имени файла, а не обязательно существующее качество по умолчанию.
Откройте /hdui create, чтобы управлять определениями качества; держите предмет и откройте /hdui, чтобы привязать качество к предмету. Изменения определений можно обновлять и синхронизировать; видимость оверлея зависит от ресурсов клиента и используемого компонента отображения.
HdCreateScreen.buildQualityForm/qualityErrors; подписи страницы сверены с текущим zh_cn.Сначала создайте или проверьте ID качества, затем задайте ссылку quality для существующего предмета. Создание определения не добавляет качество всей еде автоматически; указание несуществующего ID не создаёт текст или текстуру. Предметы, уже привязанные к этому ID, используют обновлённое определение.
QualityLevelConfig.ID_PATTERN, segments, overlay, HdCreateScreen.03Редкость: назначение степени редкости предмету
Редкость настраивает текст, цвета и анимацию. Привязка к предмету: /hdset rarity <id редкости> [ID предмета] (OP2) или выбор в редакторе предмета; снятие переопределения: /hdset rarity clear [ID предмета] (OP2). Без явного ID целью является вариант NBT, совпавший с основной рукой; с ID изменяется резервная запись уровня предмета.
Вкладка «Редкость» в /hdui create (OP4) управляет определениями редкости; ID допускает 1–64 строчные буквы, цифры и _. После редактирования сегментов можно создать, изменить или удалить определение и посмотреть состояние. Новые допустимые определения редкости сразу доступны через прокси-редкость и синхронизируются; не считайте историческую подсказку «требуется перезапуск» общим условием для всех редкостей. При недопустимом определении проверьте текст и цвета.
HdCreateScreen.buildRarityForm/rarityErrors, CPacketCreateEntry.RARITY_ID_PATTERN и текущие подписи zh_cn.Сначала задайте общую редкость предмета, затем при необходимости отдельную для варианта NBT: переопределение используют только совпавшие варианты, остальные остаются на общей редкости. Чтобы снять редкость совпавшего варианта, держите его и выполните /hdset rarity clear без ID; команда с ID предмета снимает резервную запись в item_rarities.json. После снятия проверьте следующий уровень; «снятие переопределения» не гарантирует белое имя.
- 1Приоритет у совпавшего варианта NBT; затем общая запись, резервная
item_rarities.jsonуровня предмета и, наконец, исходная ванильная редкость. - 2Новые определения редкости можно показывать через прокси-редкость и обновлять на лету; не считайте историческую подсказку «нужен перезапуск» фактическим требованием для всех редкостей.
- 3Изменение редкости влияет только на степень редкости и внешний вид, но не создаёт новый зарегистрированный предмет качества.
ItemConfig.rarity, RarityManager.DATAPACK_PROXY_ID, HDSetCommand.04Отдельные зарегистрированные предметы
Через /hdui registry (OP4) открывается менеджер регистрации качества: просмотр, обновление и удаление записей. Три вкладки /hdui create не регистрируют новые предметы. Каждое определение указывает исходный предмет и задаёт имя регистрации, ID качества, действие употребления или питья, количество в стаке и т. п.
В отличие от привязки к существующему предмету, регистрация создаёт новый ID healthy_diet; регистрация происходит на этапе запуска. Определения хранятся локально в config/healthy_diet/quality_registry/*.json; менеджер изменяет план, действующий при следующем запуске, и /hdreload не добавляет совершенно новый ID в текущий реестр предметов.
Сначала определите исходный предмет и имя регистрации, затем выберите существующий ID качества, возможность употребления и параметры стака/ресурсов; после сохранения распространите одинаковый список регистрации и нужные ресурсы клиента, перезапустите по процедуре регистрации на сервере и клиенте. /hdreload перечитывает список ожидающих определений, но не вставляет новые ID в работающий мир.
QualityRegistryEntry, план регистрации ConfigManager, HDReloadCommand.