序列化一切!Night Auto Config 是 Night Config 与 Auto Config(现已内置于 Cloth Config) 的集成方案。
Night Auto Config 引入了 NightConfigSerializer 以满足 Auto Config 对序列化器实现的要求。你可以从 Night Config 提供的所有配置格式中选择,并像使用其他常见序列化器一样使用它,甚至可以与 PartitioningSerializer 搭配使用。
建议使用 JitPack 将 Night Auto Config 集成到你的项目中。
Groovy
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
modApi "com.github.KessokuTeaTime:Night-Auto-Config:${project.nightautoconfig_version}"
// 你还需要在此处引入 Cloth Config API。
}
nightautoconfig_version={latest}
Kotlin DSL
repositories {
maven { url = uri("https://jitpack.io") }
}
dependencies {
modApi("com.github.KessokuTeaTime:Night-Auto-Config:${project.nightautoconfig_version}")
// 你还需要在此处引入 Cloth Config API。
}
nightautoconfig_version={latest}
> 你需要将 {latest} 替换为 Night Auto Config 最新的 标签名。
别忘了在你的模组元数据中声明对 Night Auto Config 的依赖。
{
"depends": {
"nightautoconfig": "*"
}
}
序列化器的实现位于 band.kessokuteatime.nightautoconfig.config.NightConfigSerializer。
以下是一个简要示例:
MyConfig.java
// 使用 Night Auto Config 提供的注解,在运行时定义序列化器提供者和反序列化器提供者!
@SerializerProvider(MyClassSerializerProvider.class)
@Config(name = "my_config")
public class MyConfig implements ConfigData {
// 一些内容...
private transient final Supplier someStringProvider = () -> "default";
// 所有 Night Config 注解均可使用
@SerdeDefault(provider = "someStringProvider")
public String someString = someStringProvider.get();
// Night Auto Config 提供了一些便捷接口
// 例如,`UnifiedSerializerProvider` 同时满足 `ValueSerializer` 和 `ValueSerializerProvider` 的要求
public static class MyClassSerializerProvider implements UnifiedSerializerProvider {
// ...
}
// 已在类型定义处指定了 `MyClass` 的自定义序列化器提供者
public MyClass someInstance = new MyClass();
}
MyMod.java
public class MyMod implements ModInitializer {
@Override
public void onInitialize() {
// 别忘了在初始化时向 Auto Config 注册
AutoConfig.register(NightExampleConfig.class, ConfigType.DEFAULT_COMMENTED::fileWatcherSerializer);
}
}
关于运行时的示例,请查看此包。
> 请为你的字段添加 com.electronwill.nightconfig.core.serde.annotations.SerdeDefault 注解以确保基本兼容性!否则,序列化过程可能会意外抛出异常。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:208,360 | 历史访问人次:316,048
今日访问人数:15,215 | 今日访问人次:17,799
昨日访问人数:30,537 | 昨日访问人次:36,142
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6