Night Auto Config
night-auto-config · 202824 загрузок · GPL-3.0-only
клиент: optional · сервер: optional (заявлено автором мода)
Сериализуйте всё! Интеграция Night Config для Auto Config.
Описание
Ночная автоматическая настройка
Сериализуйте всё! Night Auto Config — это Night Config интеграция для Auto Config (теперь встроен в Cloth Config).
Реализация
Night Auto Config вводит NightConfigSerializer для удовлетворения требований Auto Config к реализации сериализатора. Вы можете выбирать из всех доступных форматов конфигурации Night Config и использовать сериализатор так же, как и другие распространенные сериализаторы, даже вместе с PartitioningSerializer.
Добавьте в свой проект
Рекомендуется использовать JitPack для реализации Night Auto Config в вашем проекте.
Заводнойbuild.gradle
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
modApi "com.github.KessokuTeaTime:Night-Auto-Config:${project.nightautoconfig_version}"
// You'll need to implement Cloth Config API here.
}
gradle.properties
nightautoconfig_version={latest}
Kotlin DSL
build.gradle.kts
repositories {
maven { url = uri("https://jitpack.io") }
}
dependencies {
modApi("com.github.KessokuTeaTime:Night-Auto-Config:${project.nightautoconfig_version}")
// You'll need to implement Cloth Config API here.
}
gradle.properties
nightautoconfig_version={latest}
Вам следует заменить
{latest}на последнюю версиюtag nameиз Ночной автоматической настройки.
Ссылка как зависимость
Не забудьте указать Night Auto Config как зависимость в метаданных вашего мода.
fabric.mod.json / quilt.mod.json
{
"depends": {
"nightautoconfig": "*"
}
}
Использование
Реализация сериализатора находится по адресу band.kessokuteatime.nightautoconfig.config.NightConfigSerializer.
Вот краткий пример:
MyConfig.java
// Use annotations provided by Night Auto Config to define serializer providers and deserializer providers at runtime!
@SerializerProvider(MyClassSerializerProvider.class)
@Config(name = "my_config")
public class MyConfig implements ConfigData {
// Something...
private transient final Supplier<String> someStringProvider = () -> "default";
// All Night Config annotations are available
@SerdeDefault(provider = "someStringProvider")
public String someString = someStringProvider.get();
// Night Auto Config provides some interfaces for convenience implementations
// For example, `UnifiedSerializerProvider<T, R>` satisfies both `ValueSerializer<T, R>` and `ValueSerializerProvider<T, R>`
public static class MyClassSerializerProvider implements UnifiedSerializerProvider<MyClass, String> {
// ...
}
// A custom serializer provider for `MyClass` is already specified at type definition
public MyClass someInstance = new MyClass();
}
MyMod.java
public class MyMod implements ModInitializer {
@Override
public void onInitialize() {
// Don't remember to register into Auto Config at initialize
AutoConfig.register(NightExampleConfig.class, ConfigType.DEFAULT_COMMENTED::fileWatcherSerializer);
}
}
Примеры выполнения можно найти в этот пакет.].
Пожалуйста, добавьте в свои поля примечания
com.electronwill.nightconfig.core.serde.annotations.SerdeDefaultдля обеспечения базовой совместимости! В противном случае исключения сериализации могут возникнуть случайно.
Версии (10)
| Версия | Minecraft | Загрузчики | Файл |
|---|---|---|---|
1.0.6-fabric.1.21 |
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4 | fabric, quilt | скачать |
1.0.6-fabric.1.20 |
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric, quilt | скачать |
1.0.4-fabric1.20 |
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric, quilt | скачать |
1.0.4-fabric1.21 |
1.21 | fabric, quilt | скачать |
1.0.3-fabric1.20 |
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric, quilt | скачать |
1.0.3-fabric1.21 |
1.21 | fabric, quilt | скачать |
1.0.2-fabric1.20 |
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6 | fabric, quilt | скачать |
1.0.2-fabric1.21 |
1.21 | fabric, quilt | скачать |
1.0.1-fabric1.21 |
1.21 | fabric, quilt | скачать |
1.0.0-fabric1.21 |
1.21 | fabric, quilt | скачать |