modsmith Войти Войти Рус / Eng

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 overview with inline documentation and info panel

Konfig boolean, enum, and number controls

Konfig registry-backed string and color controls

Konfig string list controls with registry icons

Konfig registry-backed string list editor

Konfig ARGB color editor with channel sliders

Поддерживаемые версии

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/загрузчик модов]?

О: Если достаточно людей попросят об этом, я дам этому некоторое время, но на самом деле это команда из одного человека, поэтому это может занять некоторое время.

В: Могу ли я включить его в свой модпак?

О: Да, не нужно отдавать должное или спрашивать.

Join our Discord

Больше модов от меня

Bonded
Связанные
Kaf's Valentine Special
Специальное предложение Кафа на День святого Валентина
Liteminer
Liteminer
Mochila
Мочила
Torch Toss
Бросок факела

Версии (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 скачать

Страница на Modrinth →