COWMODSКаталог модов

Night Auto Config

Serialize everything! Night Config integration for Auto Config.

Автор: KrLite203,9 тыс.14обновлён 15 нояб. 2025 г.
Библиотеки

Описание

Night Auto Config

Serialize everything! Night Auto Config is a Night Config integration for Auto Config (now embedded in Cloth Config).

Implementation

Night Auto Config introduces a NightConfigSerializer to satisfy Auto Config's requirement of a serializer's implementation. You can choose from all the available config formats of Night Config, and use the serializer just as other common serializers, even along with a PartitioningSerializer.

Add to Your Project

It is recommended to use JitPack to implement Night Auto Config into your project.

Groovy
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}

You should replace {latest} with the latest tag name of Night Auto Config.

Reference as Dependency

Don't forget to reference Night Auto Config as dependency in your mod's metadata.

fabric.mod.json / quilt.mod.json
{
	"depends": {
		"nightautoconfig": "*"
	}
}

Usage

The serializer implementation is at band.kessokuteatime.nightautoconfig.config.NightConfigSerializer.

Here's a brief example:

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);
    }
}

For runtime examples, checkout this package.

Please annotate your fields with com.electronwill.nightconfig.core.serde.annotations.SerdeDefault for basic compatibilities! Otherwise, serialization exceptions may happen casually.

Последние версии

Все версии →
alpha

Night Auto Config 1.1.0-alpha.4 for NeoForge 1.21+

1.1.0-alpha.4-neoforge.1.21.1
15 нояб. 2025 г.366Minecraft: 1.21neoforge
Скачать
Что нового
### Maintenance Update - **Port** to 1.21.1 neoforge.
release

Night Auto Config 1.0.6 for Fabric 1.21+

1.0.6-fabric.1.21
17 июл. 2024 г.169,4 тыс.Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4fabric, quilt
Скачать
Что нового
### Maintenance Update - **Use** fully semantic versioning.
release

Night Auto Config 1.0.6 for Fabric 1.20.x

1.0.6-fabric.1.20
17 июл. 2024 г.31,8 тыс.Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt
Скачать
Что нового
### Maintenance Update - **Use** fully semantic versioning.
release

Night Auto Config 1.0.4 for Fabric 1.20.x

1.0.4-fabric1.20
14 июл. 2024 г.281Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt
Скачать
Что нового
### Fixes - **Included** missing `night-config-core` package.
release

Night Auto Config 1.0.4 for Fabric 1.21+

1.0.4-fabric1.21
14 июл. 2024 г.340Minecraft: 1.21fabric, quilt
Скачать
Что нового
### Fixes - **Included** missing `night-config-core` package.
release

Night Auto Config 1.0.3 for Fabric 1.20.x

1.0.3-fabric1.20
12 июл. 2024 г.373Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt
Скачать
Что нового
### Updates - **Used** `api` instead of `implementation`.
release

Night Auto Config 1.0.3 for Fabric 1.21+

1.0.3-fabric1.21
12 июл. 2024 г.299Minecraft: 1.21fabric, quilt
Скачать
Что нового
### Updates - **Used** `api` instead of `implementation`.
release

Night Auto Config 1.0.2 for Fabric 1.20.x

1.0.2-fabric1.20
11 июл. 2024 г.186Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt
Скачать
Что нового
### Updates - **Used** `ModInitializer` instead of `ClientModInitializer`.
release

Night Auto Config 1.0.2 for Fabric 1.21+

1.0.2-fabric1.21
11 июл. 2024 г.204Minecraft: 1.21fabric, quilt
Скачать
Что нового
### Updates - **Used** `ModInitializer` instead of `ClientModInitializer`.
release

Night Auto Config 1.0.1 for Fabric 1.21+

1.0.1-fabric1.21
11 июл. 2024 г.192Minecraft: 1.21fabric, quilt
Скачать
Что нового
### Updates - **Handled** exceptions silently and give semantic logs. - **Added** serde support for `java.awt.Color`.