Перейти к содержимому

YAML Config

Библиотека конфигураций с GUI на основе формата YAML.

FabricNeoForge
Загрузчики
FabricNeoForge
Скачиваний на Modrinth
301 тыс.
Подписчиков на Modrinth
36
версии
44
Обновлён
10 октября 202610 окт.
Опубликован
в 2024
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 6 модам. Скачайте её, если этого требует другой мод.

Коротко о моде

Библиотека — нужна другим модам: её требуют 6
Работает на Fabric и NeoForge
Для Minecraft 1.21.5–1.21.9, 1.21.11–26.3 …
Работает и в игре, и на сервере — ставьте, где нужен
Последняя версия — 22.1.0 от 10 октября 2026
Лицензия Apache-2.0 — бесплатно
Где нужен
В игренеобязателенНа серверенеобязателен

Работает и в игре, и на сервере — ставьте, где нужен

Версии игры1.21–1.21.1, 1.21.5–1.21.9, 1.21.11–26.3
Описание переведено автоматическиПоказать оригинал (EN)

Баннер промо Ko-fi

YAML Config: мод для настройки конфигов в Minecraft

Обзор

YAML Config — это мощный мод для настройки конфигов в Minecraft, который позволяет разработчикам модов создавать и управлять настройками конфигурации с помощью формата файлов YAML. Он предлагает удобный GUI, обширную поддержку типов данных и надёжную сетевую синхронизацию между клиентом и сервером.

Возможности

  • Формат файлов YAML: YAML Config использует формат файлов YAML, известный своей читаемостью и простотой использования.
  • Интерфейс GUI: Хорошо продуманный GUI позволяет игрокам легко просматривать и редактировать настройки конфигурации.
  • Обширная поддержка типов данных: Мод поддерживает широкий спектр типов данных, включая:

    • Примитивные типы: boolean, int, float, double, String, ResourceLocation, Registry
    • Коллекции: List, Map
    • Дата и время: LocalDateTime
  • Синхронизация сервер-клиент: Изменения, внесённые в конфигурации на сервере, автоматически синхронизируются с клиентами, обеспечивая согласованность игрового процесса.
  • Поддержка модпаков: Мод разработан для бесшовной работы с существующими модпаками, предлагая гибкую и расширяемую систему конфигурации.
  • Валидация и обработка ошибок: Мод включает надёжную валидацию и обработку ошибок, гарантируя, что конфигурации соответствуют ожидаемым требованиям.

Установка и использование

Установка
  1. Скачайте мод: Скачайте последнюю версию YAML Config с официального сайта мода, CurseForge или Modrinth.
  2. Поместите файл мода: Переместите скачанный JAR-файл в папку "mods" в директории Minecraft.
  3. Запустите Minecraft: Запустите Minecraft и зайдите в мир.
Использование
  1. Откройте экран конфигов: Нажмите "F12" на клавиатуре, чтобы открыть экран конфигов.

  2. Перейдите к конфигу: Экран конфигов отображает список доступных конфигураций. Выберите мод, конфигурацию которого хотите изменить.

  3. Редактируйте записи конфига: Экран конфига отображает доступные настройки. Каждая запись включает:

    • Заголовок: Название настройки.
    • Поле ввода: Поле для редактирования значения.
    • Кнопка сброса: Кнопка для сброса значения к значению по умолчанию.
  4. Сохраните изменения: Нажмите кнопку "Save Changes", чтобы сохранить изменения. Мод автоматически сохранит изменения в файл конфигурации и синхронизирует их с другими игроками на сервере (если применимо).

Разработка

Создание конфигураций

1. Определите класс конфига:

  • Создайте новый Java-класс в кодовой базе вашего мода, который представляет конфигурацию вашего мода.
public class MyModConfig {

    public static IConfig config;

    public static IConfigEntry<Boolean> debug;

    public static void init() {
        ConfigBuilder builder = new ConfigBuilder(MyMod.MOD_ID, "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);
    }
}

2. Определите записи конфига:

  • Используйте класс ConfigBuilder для определения настроек вашей конфигурации.
  • Выберите подходящий тип данных для каждой записи с помощью методов define*.
// Пример определения boolean-записи:
debug = builder.defineBoolean("debug", false); 

// Пример определения integer-записи с диапазоном:
intEntry = builder.defineInteger("intEntry", 10, 0, 100); // Min 0, Max 100

// Пример определения string-записи с шаблоном:
stringEntry = builder.defineString("stringEntry", "test", "test\\d+"); 

// Пример определения registry-записи:
registryEntry = builder.defineRegistry("registryEntry", Blocks.GRASS_BLOCK, BuiltInRegistries.BLOCK);

// Пример определения списка:
stringListEntry = builder.defineStringList("stringListEntry", List.of("test1", "test2", "test3"), 3, 10); // Min 3, Max 10

// Пример определения map:
integerMapEntry = builder.defineIntegerMap("integerMapEntry", Map.of("test1", 1, "test2", 2, "test3", 3), 3, 10); // Min 3, Max 10

**3. Создание конфигурации:**

*   Вызовите метод `build()` у `ConfigBuilder`, чтобы создать свою конфигурацию.
*   Сохраните конфигурацию в статическом поле для удобного доступа из кода вашего мода.

```java
public MyModConfig() {
    ConfigBuilder builder = new ConfigBuilder("mymod", "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);
    // ... define config entries 
    config = builder.build(); 
}

4. Доступ к значениям конфигурации в коде:

  • Используйте метод get(), чтобы получить текущее значение записи конфигурации.
  • Используйте метод set(), чтобы изменить значение записи конфигурации.
// Example:
boolean debugEnabled = MyModConfig.debug.get(); // Retrieve the current value of the "debug" setting

if (debugEnabled) {
    // Perform debug-related actions 
}

MyModConfig.intEntry.set(25); // Set the value of the "intEntry" to 25
Тип конфигурации
  • ConfigType.CLIENT: Клиентские конфигурации привязаны к клиенту, на котором установлен мод. Они не передаются другим игрокам на сервере.
  • ConfigType.SERVER: Серверные конфигурации предназначены для выделенных серверов. Они не используются в одиночных мирах и не синхронизируются с игроками на сервере.
  • ConfigType.COMMON: Общие конфигурации используются как клиентами, так и сервером. Их можно редактировать на сервере, напрямую изменяя файл конфигурации и перезапуская сервер, либо изменяя значения через внутриигровой GUI и сохраняя изменения.
Использование пользовательских типов данных
  • Используйте интерфейс IConfigEntryType, чтобы зарегистрировать пользовательские типы данных в моде YAML Config.
  • Реализуйте собственный сериализатор для сериализации и десериализации вашего пользовательского типа данных.
Конфигурация модпака
  • Если вы создаёте модпак, вы можете использовать YAML Config, чтобы задать настройки конфигурации для вашего модпака.
  • Поместите файл конфигурации вашего модпака в папку "config" внутри директории вашего модпака.
Примеры
// Example: Basic client-side configuration

public class MyModConfig {

    public static IConfig config;

    public static IConfigEntry<Boolean> debug;
    public static IConfigEntry<Integer> testInt;

    public static void init() {
        ConfigBuilder builder = new ConfigBuilder("mymod", "mymod-config", ConfigExtension.YAML, ConfigType.CLIENT);

        debug = builder.defineBoolean("debug", false) // default false.
                .withComments("Whether debug mode is enabled for the mod.");

        testInt = builder.defineInteger("testInt", 10, 0, 100); // default 10, min 0 and max 100.

        config = builder.build();
    }
}

Частые вопросы

Как установить YAML Config?

Установите Fabric под свою версию Minecraft, скачайте YAML Config под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть YAML Config?

У YAML Config есть сборки для Minecraft 1.21–1.21.1, 1.21.5–1.21.9, 1.21.11–26.3.

Нужен ли YAML Config на сервере?

Работает и в игре, и на сервере — ставьте, где нужен

Лицензия и источник
Apache License 2.0можно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее