Конфигурация и графический интерфейс (MC 26.2)
Этот документ описывает схему конфигурационного файла, интеграцию с YACL v3, точки входа ModMenu и правила приоритета в Minecraft 26.2.
📊 Информационный блок конфигурации
| Свойство | Значение |
|---|---|
| Путь к файлу конфига | config/item-clumps.json |
| Формат файла | JSON (управляется через ConfigHelper из DasikLibrary) |
| Версия схемы | configVersion: 1 |
| Провайдер GUI | YetAnotherConfigLib v3 (YACL) через ModMenu |
| Изоляция загрузки классов | Отложенная рефлексия (GuiHelper.getOptionalYaclFactory) |
| Приоритет настроек | Конфиг задает дефолты новых миров; в текущих мирах действуют GameRules |
⚠️ Правило приоритета: глобальный конфиг против активного мира
⚠️ ВАЖНОЕ УВЕДОМЛЕНИЕ: Изменение файла
config/item-clumps.jsonили настроек через ModMenu задает значения по умолчанию только для вновь создаваемых миров. Для настройки существующего мира используйте внутриигровую команду/gameruleили экран редактирования правил мира.
📄 Схема JSON-файла (config/item-clumps.json)
json
{
"configVersion": 1,
"enableClumping": true,
"maxClumpSize": 9999,
"renderLabels": true,
"mergeRadius": 1,
"labelMinCount": -1
}Описание полей
| Ключ JSON | Тип | По умолчанию | Описание |
|---|---|---|---|
configVersion | Integer | 1 | Внутренний идентификатор миграции схемы. |
enableClumping | Boolean | true | Включает или выключает объединение предметов в мега-стаки. |
maxClumpSize | Integer | 9999 | Максимальное число предметов в одном скоплении ($64\text{–}2,147,483,647$). |
renderLabels | Boolean | true | Отображает парящие метки с количеством предметов над скоплениями. |
mergeRadius | Integer | 1 | Радиус поиска предметов по горизонтали ($1\text{–}10\text{ блоков}$). |
labelMinCount | Integer | -1 | Порог количества до появления метки (-1 = ванильный размер стака). |
🖥️ Графический интерфейс (YACL v3 & ModMenu)
Item Clumps предоставляет опциональный экран настроек на клиенте через YetAnotherConfigLib (YACL v3) и ModMenu:
+-------------------------------------------------------------------------+
| ITEM CLUMPS CONFIGURATION |
| |
| [ General Settings ] |
| |
| Enable Clumping ............................................ [ ON ] |
| When true, ground items aggressively merge into mega-stacks. |
| |
| Max Clump Size ............................................. [ 9999 ] |
| The hard cap on items per entity. (Hidden if Stack Size Adjuster on) |
| |
| Render Labels .............................................. [ ON ] |
| Renders holographic count above item clumps. |
| |
| Merge Radius ................................... [───●──────────] (1) |
| Horizontal block search radius (1-10 blocks). |
| |
| Label Min Count ............................................ [ -1 ] |
| Minimum item count before label displays (-1 for vanilla max stack). |
| |
| [ Cancel ] [ Save & Quit ] |
+-------------------------------------------------------------------------+Безопасная отложенная загрузка классов
Чтобы исключить падения на выделенных серверах или клиентах без YACL/ModMenu, создание экрана изолировано через GuiHelper.getOptionalYaclFactory:
java
// ModMenuIntegration.java (MC 26.2)
public class ModMenuIntegration implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return GuiHelper.getOptionalYaclFactory(
"item_clumps",
"net.instantgratification.item_clumps.config.YaclScreenHelper",
"createScreen"
);
}
}