Konfig
konfig · 316671 загрузок · MIT
клиент: unknown · сервер: unknown (заявлено автором мода)
Эргономичная библиотека конфигурации мультизагрузчика с поддержкой синхронизации.
Описание
#Конфиг
Konfig — это библиотека конфигурации мультизагрузчика для модов Minecraft.
Он позволяет модификациям объявлять типизированные значения конфигурации в общем коде, сохранять их в виде комментариев TOML, синхронизировать выбранные значения с клиентами и создавать экраны конфигурации для Fabric, Forge и NeoForge.
Konfig создан для совместного использования общего кода. Интеграция, специфичная для загрузчика, остается в корнях загрузчика, в то время как объявление конфигурации, проверка, миграция, метаданные синхронизации и метаданные экрана могут жить рядом с остальной логикой вашего мода.
Что вы получаете
- Типизированные значения конфигурации для логических значений, чисел, перечислений, строк, списков строк, цветов RGB/ARGB и пользовательских кодеков.
- Области конфигурации с боковой поддержкой:
CLIENT,COMMONиSERVER. - Прокомментированные файлы TOML по адресу
config/<modid>/<name>.toml. - Встроенные режимы синхронизации:
NONE,LOGINиLOGIN_AND_RELOAD. - Управление версиями схемы и пошаговая миграция.
- Сгенерированы экраны конфигурации для зарегистрированных дескрипторов.
- Встроенные украшения экрана: заголовки, изображения, описательный текст и интерактивные URL-адреса.
- Явные всплывающие подсказки для сгенерированных строк экрана.
- Богатые информационные панели при наведении для глобальной, категории и помощи по конкретным значениям.
- Интеграция меню модов ткани
- Помощники по кнопкам настройки Forge и NeoForge.
Фото






Поддерживаемые версии
Konfig 0.4.0 поддерживает все линейки Minecraft с 1.14.4 по 26.2.
- Ткань начинается с
1.14.4. - Кузница начинается в
1.16.5. - NeoForge начинается в
1.21.1
Konfig использует один семантический релиз для всех поддерживаемых линий Minecraft. Суффикс +<mc> указывает, на какую версию Minecraft нацелен артефакт, например 0.4.0+1.21.11 или 0.4.0+26.2.
Быстрый пример
import com.iamkaf.konfig.api.v1.ConfigBuilder;
import com.iamkaf.konfig.api.v1.ConfigHandle;
import com.iamkaf.konfig.api.v1.ConfigScope;
import com.iamkaf.konfig.api.v1.ConfigValue;
import com.iamkaf.konfig.api.v1.Konfig;
import com.iamkaf.konfig.api.v1.RestartRequirement;
import com.iamkaf.konfig.api.v1.SyncMode;
public final class ExampleConfig {
public static final ConfigHandle HANDLE;
public static final ConfigValue<Boolean> ENABLED;
public static final ConfigValue<Integer> RANGE;
static {
ConfigBuilder builder = Konfig.builder("examplemod", "common")
.scope(ConfigScope.COMMON)
.syncMode(SyncMode.LOGIN)
.comment("Example mod config")
.info(info -> info
.header("Example Mod")
.inlineText("These settings control shared gameplay behavior.")
.url("Documentation", "https://example.invalid/docs"));
builder.header("Example Mod Settings");
builder.inlineText("These entries are saved automatically.");
builder.url("Documentation", "https://example.invalid/docs");
builder.push("general");
builder.categoryComment("General gameplay tuning");
builder.categoryTooltip("General gameplay tuning");
builder.categoryInfo(info -> info
.header("General")
.inlineText("Values in this section affect the whole mod."));
ENABLED = builder.bool("enabled", true)
.comment("Master toggle")
.tooltip("Enable example mod features")
.sync(true)
.info(info -> info
.header("Master Toggle")
.inlineText("Turns the main feature set on or off."))
.build();
RANGE = builder.intRange("range", 8, 1, 64)
.comment("Effect radius")
.tooltip("Controls the effect radius in blocks")
.sync(true)
.restart(RestartRequirement.WORLD)
.build();
builder.pop();
HANDLE = builder.build();
}
}
Используйте ConfigValue#get() при чтении значения и ConfigValue#set(value) при его программном изменении.
Комментарии пишутся в TOML. Генерируемый текст при наведении на экран является явным через контент tooltip(...) и более богатый info(...), поэтому ваши файлы конфигурации и справка по пользовательскому интерфейсу могут при необходимости говорить разные вещи.
Зависимости
Добавьте репозиторий Kaf Maven:
repositories {
maven { url = "https://maven.kaf.sh" }
}
Используйте артефакт загрузчика для целевой строки Minecraft:
modImplementation "com.iamkaf.konfig:konfig-fabric:<version>"
modImplementation "com.iamkaf.konfig:konfig-forge:<version>"
modImplementation "com.iamkaf.konfig:konfig-neoforge:<version>"
Не полагайтесь напрямую на Konfig common. Используйте артефакт, специфичный для загрузчика.
Помогите перевести Konfig
Хотите помочь перевести этот мод на ваш язык? Присоединяйтесь к проекту перевода сообщества:
🇺🇸 🇪🇸 🇧🇷 🇫🇷 🇩🇪 🇷🇺 🇹🇷 🇯🇵 🇰🇷 🇨🇳
Вопросы и ответы
В: Где я могу задать вопрос, которого здесь нет?
О: Создайте проблему здесь или присоединитесь к Discord и напишите мне сообщение.
В: Можете ли вы перенести его на [версию MC/загрузчик модов]?
О: Если достаточно людей попросят об этом, я дам этому некоторое время, но на самом деле это команда из одного человека, поэтому это может занять некоторое время.
В: Могу ли я включить его в свой модпак?
О: Да, не нужно отдавать должное или спрашивать.
Больше модов от меня
![]() Связанные |
![]() Специальное предложение Кафа на День святого Валентина |
![]() Liteminer |
![]() Мочила |
![]() Бросок факела |
Версии (60)
| Версия | Minecraft | Загрузчики | Файл |
|---|---|---|---|
0.10.3+1.21.3 |
1.21.3 | neoforge | скачать |
0.10.3+1.21.3 |
1.21.3 | forge | скачать |
0.10.3+1.21.3 |
1.21.3 | fabric | скачать |
0.10.3+1.21.2 |
1.21.2 | neoforge | скачать |
0.10.3+1.21.2 |
1.21.2 | fabric | скачать |
0.10.3+1.21.1 |
1.21.1 | neoforge | скачать |
0.10.3+1.21.1 |
1.21.1 | forge | скачать |
0.10.3+1.21.1 |
1.21.1 | fabric | скачать |
0.10.3+1.21 |
1.21 | forge | скачать |
0.10.3+1.21 |
1.21 | fabric | скачать |
0.10.3+1.20.6 |
1.20.6 | forge | скачать |
0.10.3+1.20.6 |
1.20.6 | fabric | скачать |
0.10.3+1.20.5 |
1.20.5 | fabric | скачать |
0.10.3+1.20.4 |
1.20.4 | forge | скачать |
0.10.3+1.20.4 |
1.20.4 | fabric | скачать |
0.10.3+1.20.3 |
1.20.3 | forge | скачать |
0.10.3+1.20.3 |
1.20.3 | fabric | скачать |
0.10.3+1.20.2 |
1.20.2 | forge | скачать |
0.10.3+1.20.2 |
1.20.2 | fabric | скачать |
0.10.3+1.20.1 |
1.20.1 | forge | скачать |
0.10.3+1.20.1 |
1.20.1 | fabric | скачать |
0.10.3+1.20 |
1.20 | forge | скачать |
0.10.3+1.20 |
1.20 | fabric | скачать |
0.10.3+1.19.4 |
1.19.4 | forge | скачать |
0.10.3+1.19.4 |
1.19.4 | fabric | скачать |
0.10.3+1.19.3 |
1.19.3 | forge | скачать |
0.10.3+1.19.3 |
1.19.3 | fabric | скачать |
0.10.3+1.19.2 |
1.19.2 | forge | скачать |
0.10.3+1.19.2 |
1.19.2 | fabric | скачать |
0.10.3+1.19.1 |
1.19.1 | forge | скачать |
0.10.3+1.19.1 |
1.19.1 | fabric | скачать |
0.10.3+1.19 |
1.19 | forge | скачать |
0.10.3+1.19 |
1.19 | fabric | скачать |
0.10.3+1.18.2 |
1.18.2 | forge | скачать |
0.10.3+1.18.2 |
1.18.2 | fabric | скачать |
0.10.3+1.18.1 |
1.18.1 | forge | скачать |
0.10.3+1.18.1 |
1.18.1 | fabric | скачать |
0.10.3+1.18 |
1.18 | forge | скачать |
0.10.3+1.18 |
1.18 | fabric | скачать |
0.10.3+1.17.1 |
1.17.1 | forge | скачать |
0.10.3+1.17.1 |
1.17.1 | fabric | скачать |
0.10.3+1.17 |
1.17 | fabric | скачать |
0.10.3+26.3 |
26.3 | neoforge | скачать |
0.10.3+26.3 |
26.3 | forge | скачать |
0.10.3+26.3 |
26.3 | fabric | скачать |
0.10.3+26.2 |
26.2 | neoforge | скачать |
0.10.3+26.2 |
26.2 | forge | скачать |
0.10.3+26.2 |
26.2 | fabric | скачать |
0.10.3+1.21.11 |
1.21.11 | neoforge | скачать |
0.10.3+1.21.11 |
1.21.11 | forge | скачать |
0.10.3+1.21.11 |
1.21.11 | fabric | скачать |
0.10.3+1.21.10 |
1.21.10 | neoforge | скачать |
0.10.3+1.21.10 |
1.21.10 | forge | скачать |
0.10.3+1.21.10 |
1.21.10 | fabric | скачать |
0.10.3+1.21.9 |
1.21.9 | neoforge | скачать |
0.10.3+1.21.9 |
1.21.9 | forge | скачать |
0.10.3+1.21.9 |
1.21.9 | fabric | скачать |
0.10.3+1.21.8 |
1.21.8 | neoforge | скачать |
0.10.3+1.21.8 |
1.21.8 | forge | скачать |
0.10.3+1.21.8 |
1.21.8 | fabric | скачать |





