YAML Config
yaml-config · 299815 загрузок · Apache-2.0
клиент: optional · сервер: optional (заявлено автором мода)
Библиотека конфигурации с графическим интерфейсом на основе формата YAML.
Описание
YAML Config: мод конфигурации Minecraft
Обзор
YAML Config — это мощный мод конфигурации Minecraft, который позволяет разработчикам модов создавать параметры конфигурации и управлять ими, используя формат файла YAML. Он предлагает удобный графический интерфейс, обширную поддержку типов данных и надежную сеть для синхронизации клиент-сервер.
Особенности
Формат файла YAML: YAML Config использует формат файла YAML, известный своей читабельностью и простотой использования.
Графический интерфейс: Хорошо продуманный графический интерфейс позволяет игрокам легко перемещаться и редактировать настройки конфигурации.
Расширенная поддержка типов данных: Мод поддерживает широкий спектр типов данных, в том числе:
- Примитивные типы:
boolean,int,float,double,String,ResourceLocation,Registry - Коллекции:
List,Map - Дата и время:
LocalDateTime
- Примитивные типы:
Синхронизация сервера и клиента: Изменения, внесенные в конфигурации на сервере, автоматически синхронизируются с клиентами, обеспечивая согласованность игрового процесса.
Поддержка модпаков: Мод предназначен для бесперебойной работы с существующими пакетами модов и предлагает гибкую и расширяемую систему конфигурации.
Проверка и обработка ошибок: Мод включает надежную проверку и обработку ошибок, гарантируя соответствие конфигураций ожидаемым требованиям.
Установка и использование
Установка
- Загрузите мод: Загрузите последнюю версию YAML Config с официального сайта мода, CurseForge или Modrinth.
- Поместите файл мода: Переместите загруженный JAR-файл в папку «mods» в каталоге Minecraft.
- Запустите Minecraft: Запустите Minecraft и присоединитесь к миру.
Использование
Откройте экран настроек: Нажмите «F12» на клавиатуре, чтобы открыть экран настроек.
Перейдите к конфигурации: На экране «Конфигурации» отображается список доступных конфигураций. Выберите мод, конфигурацию которого вы хотите изменить.
Редактирование записей конфигурации. На экране конфигурации отображаются доступные настройки. Каждая запись включает в себя:
- Название: Название параметра.
- Поле ввода: Поле для редактирования значения.
- Кнопка сброса: Кнопка для возврата значения к значению по умолчанию.
Сохранить изменения. Нажмите кнопку «Сохранить изменения», чтобы сохранить изменения. Мод автоматически сохранит изменения в файле конфигурации и синхронизирует их с другими игроками на сервере (если применимо).
Развитие
Создание конфигураций
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 | скачать |

