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

YAML Config

yaml-config · 299815 загрузок · Apache-2.0

клиент: optional · сервер: optional (заявлено автором мода)

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

Описание

Bisect Hosting Promotion Banner

Ko-fi Promotion Banner


YAML Config: мод конфигурации Minecraft

Обзор

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

Особенности

  • Формат файла YAML: YAML Config использует формат файла YAML, известный своей читабельностью и простотой использования.

  • Графический интерфейс: Хорошо продуманный графический интерфейс позволяет игрокам легко перемещаться и редактировать настройки конфигурации.

  • Расширенная поддержка типов данных: Мод поддерживает широкий спектр типов данных, в том числе:

    • Примитивные типы: 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. Сохранить изменения. Нажмите кнопку «Сохранить изменения», чтобы сохранить изменения. Мод автоматически сохранит изменения в файле конфигурации и синхронизирует их с другими игроками на сервере (если применимо).

Развитие

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

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*.
// Example of defining a boolean entry:
debug = builder.defineBoolean("debug", false); 

// Example of defining an integer entry with range:
intEntry = builder.defineInteger("intEntry", 10, 0, 100); // Min 0, Max 100

// Example of defining a string entry with pattern:
stringEntry = builder.defineString("stringEntry", "test", "test\\d+"); 

// Example of defining a registry entry:
registryEntry = builder.defineRegistry("registryEntry", Blocks.GRASS_BLOCK, BuiltInRegistries.BLOCK);

// Example of defining a list:
stringListEntry = builder.defineStringList("stringListEntry", List.of("test1", "test2", "test3"), 3, 10); // Min 3, Max 10

// Example of defining a map:
integerMapEntry = builder.defineIntegerMap("integerMapEntry", Map.of("test1", 1, "test2", 2, "test3", 3), 3, 10); // Min 3, Max 10

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

  • Вызовите метод build() на ConfigBuilder, чтобы создать свою конфигурацию.
  • Сохраните конфигурацию в статическом поле для быстрого доступа к коду вашего мода.
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: Общие конфигурации используются как клиентами, так и сервером. Их можно редактировать на сервере, отредактировав файл конфигурации напрямую и перезапустив сервер, или отредактировав значения с помощью графического интерфейса игры и сохранив изменения.

Использование пользовательских типов данных

  • Используйте интерфейс 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();
    }
}

Версии (42)

ВерсияMinecraftЗагрузчикиФайл
22.1.0 26.3 neoforge скачать
22.1.0 26.3 fabric скачать
21.1.0 26.2 fabric скачать
21.1.0 26.2 neoforge скачать
19.1.2 1.21.11 neoforge скачать
19.1.2 1.21.11 fabric скачать
20.1.2 26.1, 26.1.1, 26.1.2 neoforge скачать
20.1.2 26.1, 26.1.1, 26.1.2 fabric скачать
19.1.1 1.21.11 neoforge скачать
19.1.1 1.21.11 fabric скачать
9.0.0 1.21, 1.21.1 neoforge скачать
9.0.0 1.21, 1.21.1 fabric скачать
20.1.1 26.1, 26.1.1, 26.1.2 fabric скачать
20.1.1 26.1, 26.1.1, 26.1.2 neoforge скачать
20.1.0 26.1, 26.1.1 neoforge скачать
20.1.0 26.1, 26.1.1 fabric скачать
19.1.0 1.21.11 neoforge скачать
19.1.0 1.21.11 fabric скачать
19.0.1 1.21.11 neoforge скачать
19.0.1 1.21.11 fabric скачать
19.0.0 1.21.11 neoforge скачать
19.0.0 1.21.11 fabric скачать
1.3.2-1.21.9 1.21.9 fabric скачать
1.3.2-1.21.9 1.21.9 neoforge скачать
1.3.2-1.21.6 1.21.6, 1.21.7, 1.21.8 neoforge скачать
1.3.2-1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.3.1-1.21.6 1.21.6, 1.21.7, 1.21.8 neoforge скачать
1.3.1-1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.3.0-1.21.6 1.21.6, 1.21.7, 1.21.8 neoforge скачать
1.3.0-1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
1.2-1.21.5 1.21.5 neoforge скачать
1.2-1.21.5 1.21.5 fabric скачать
1.2-1.21 1.21, 1.21.1 neoforge скачать
1.2-1.21 1.21, 1.21.1 fabric скачать
1.1-1.21.5 1.21.5 neoforge скачать
1.1-1.21.5 1.21.5 fabric скачать
1.1-1.21 1.21, 1.21.1 neoforge скачать
1.1-1.21 1.21, 1.21.1 fabric скачать
1.0-1.21.5 1.21.5 fabric скачать
1.0-1.21.5 1.21.5 neoforge скачать
1.0-1.21 1.21, 1.21.1 neoforge скачать
1.0-1.21 1.21, 1.21.1 fabric скачать

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