Перейти к содержимому
Mineforgian

Night Auto Config

Serialize everything! Night Config integration for Auto Config.

192K загрузок15 подписчиковGPL-3.0-onlyfabricneoforgequilt

Обновлён 15 ноября 2025 г. · опубликован 10 июля 2024 г.

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.

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
1.1.0-alpha.4-neoforge.1.21.1Альфа1.21neoforge15 ноября 2025 г..jar (444 КБ)
1.0.6-fabric.1.21Релиз1.21.1, 1.21.2, 1.21.3, 1.21.4fabric, quilt17 июля 2024 г..jar (444 КБ)
1.0.6-fabric.1.20Релиз1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt17 июля 2024 г..jar (444 КБ)
1.0.4-fabric1.20Релиз1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt14 июля 2024 г..jar (444 КБ)
1.0.4-fabric1.21Релиз1.21fabric, quilt14 июля 2024 г..jar (444 КБ)
1.0.3-fabric1.20Релиз1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt12 июля 2024 г..jar (123 КБ)
1.0.3-fabric1.21Релиз1.21fabric, quilt12 июля 2024 г..jar (123 КБ)
1.0.2-fabric1.20Релиз1.20.3, 1.20.4, 1.20.5, 1.20.6fabric, quilt11 июля 2024 г..jar (123 КБ)
1.0.2-fabric1.21Релиз1.21fabric, quilt11 июля 2024 г..jar (123 КБ)
1.0.1-fabric1.21Релиз1.21fabric, quilt11 июля 2024 г..jar (123 КБ)
1.0.0-fabric1.21Релиз1.21fabric, quilt10 июля 2024 г..jar (120 КБ)

Ченджлог

1.1.0-alpha.4-neoforge.1.21.1Альфа1.21 · 15 ноября 2025 г.

Maintenance Update

  • Port to 1.21.1 neoforge.
1.0.6-fabric.1.21Релиз1.21.2, 1.21.3, 1.21.4 · 17 июля 2024 г.

Maintenance Update

  • Use fully semantic versioning.
1.0.6-fabric.1.20Релиз1.20.4, 1.20.5, 1.20.6 · 17 июля 2024 г.

Maintenance Update

  • Use fully semantic versioning.
1.0.4-fabric1.20Релиз1.20.4, 1.20.5, 1.20.6 · 14 июля 2024 г.

Fixes

  • Included missing night-config-core package.
1.0.4-fabric1.21Релиз1.21 · 14 июля 2024 г.

Fixes

  • Included missing night-config-core package.
1.0.3-fabric1.20Релиз1.20.4, 1.20.5, 1.20.6 · 12 июля 2024 г.

Updates

  • Used api instead of implementation.
1.0.3-fabric1.21Релиз1.21 · 12 июля 2024 г.

Updates

  • Used api instead of implementation.
1.0.2-fabric1.20Релиз1.20.4, 1.20.5, 1.20.6 · 11 июля 2024 г.

Updates

  • Used ModInitializer instead of ClientModInitializer.

Полная история изменений — на Modrinth.

Комментарии

Загружаем…