Mineuniverse
Mods
Night Auto Config

Night Auto Config

MOD
Serialize everything! Night Config integration for Auto Config.
by KrLite
Download Claim this project
12,006 downloads
0 likes
0 followers
Updated Oct 14, 2026
0 hypes
Follow0
API and Library
Advertisement Remove ads with Premium →

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 {
	modAi("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.

Night Auto Config 1.1.0-alpha.4 for NeoForge 1.21+
MC 1.21, Client, NeoForge, Server
Alpha 2025-11-15 Get
Night Auto Config 1.1.0-alpha.4 for NeoForge 1.21+
MC 1.21, Client, NeoForge, Server
Alpha 2025-11-15 Get
Night Auto Config 1.1.0-alpha.4 for NeoForge 1.21+
MC 1.21, Client, NeoForge, Server
Alpha 2025-11-15 Get
Night Auto Config 1.0.6 for Fabric 1.20.x
MC 1.20.2, 1.20.5, Fabric, Client, 1.20.3, 1.20.1, 1.20, 1.20.6, 1.20.4, Server, Quilt
Release 2024-07-17 Get
Night Auto Config 1.0.6 for Fabric 1.21+
MC 1.21, Client, Fabric, Server, Quilt
Release 2024-07-17 Get
Night Auto Config 1.0.4 for Fabric 1.21+
MC 1.21, Fabric, Client, Server, Quilt
Release 2024-07-14 Get
Night Auto Config 1.0.4 for Fabric 1.20.x
MC 1.20.2, 1.20.5, Fabric, Client, 1.20.3, 1.20.1, 1.20, 1.20.6, 1.20.4, Server, Quilt
Release 2024-07-14 Get
Night Auto Config 1.0.3 for Fabric 1.21+
MC 1.21, Fabric, Client, Server, Quilt
Release 2024-07-12 Get
Night Auto Config 1.0.3 for Fabric 1.20.x
MC 1.20.2, 1.20.5, Fabric, Client, 1.20.3, 1.20.1, 1.20, 1.20.6, 1.20.4, Server, Quilt
Release 2024-07-12 Get
Night Auto Config 1.0.1 for Fabric 1.21+
MC 1.21, Fabric, Client, Server, Quilt
Release 2024-07-11 Get
Night Auto Config 1.0.2 for Fabric 1.21+
MC 1.21, Fabric, Client, Server, Quilt
Release 2024-07-11 Get
Night Auto Config 1.0.2 for Fabric 1.20.x
MC 1.20.2, 1.20.5, Fabric, Client, 1.20.3, 1.20.1, 1.20, 1.20.6, 1.20.4, Server, Quilt
Release 2024-07-11 Get
Night Auto Config 1.0.0 for Fabric 1.21+
MC 1.21, Fabric, Client, Server, Quilt
Release 2024-07-10 Get

More from KrLite

Advertisement Remove ads with Premium →

You Might Also Like