
棱镜配置
一个轻量级的 Java 配置库,让你能够优雅、灵活地编写配置。理论上独立于任何加载器。
快速开始
对于用户而言,Prism Config 可以原生地作为 Fabric 模组安装,因为它包含了一个 fabric.mod.json,但它主要用于 JiJ,而且该模组本身实际上只是一个普通的 Java 库,因此理论上它可以在任何加载器、任何 Minecraft 版本上运行。不过,对特定模组(如 Mod Menu)的支持已在计划中。
对于开发者而言,要将 Prism Config 添加到你的项目中,你需要在 build.gradle(.kts) 中添加以下内容:
Groovy DSL:
repositories {
// ...
maven {
name = "Nova Committee - Release"
url = "https://maven.nova-committee.cn/releases/"
}
maven {
name = "Nova Committee - Snapshot"
url = "https://maven.nova-committee.cn/snapshots/"
}
}
dependencies {
// ...
implementation "io.github.prismwork:prismconfig:0.2.0:all"
// 或者,如果你的项目中已包含所需库(Gson、Jankson……),可以使用 slim jar
// implementation "io.github.prismwork:prismconfig:0.2.0"
}
Kotlin DSL:
repositories {
// ...
maven {
name = "Nova Committee - Release"
url = uri("https://maven.nova-committee.cn/releases/")
}
maven {
name = "Nova Committee - Snapshot"
url = uri("https://maven.nova-committee.cn/snapshots/")
}
}
dependencies {
// ...
implementation("io.github.prismwork:prismconfig:0.2.0:all")
// 或者,如果你的项目中已包含所需库(Gson、Jankson……),可以使用 slim jar
// implementation("io.github.prismwork:prismconfig:0.2.0")
}
Prism Config 默认提供对 JSON(Gson)、JSON5(Jankson)和 TOML 0.4.0(toml4j)的序列化器和反序列化器。
要将字符串解析为配置对象,你可以这样做:
String content;
MyConfig config = PrismConfig.getInstance().serialize(
MyConfig.class,
content,
DefaultSerializers.getInstance().json5(MyConfig.class) // 我们假设你的配置是用 JSON5 编写的
);
要将配置对象解析为字符串,你可以这样做:
MyConfig content;
String config = PrismConfig.getInstance().deserialize(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class) // 我们假设你的配置是用 JSON5 编写的
);
你也可以将其写入文件:
MyConfig content;
File configFile;
PrismConfig.getInstance().deserializeAndWrite(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class), // 我们假设你的配置是用 JSON5 编写的
configFile
);
要编写你自己的序列化器/反序列化器,你可以使用以下代码(我们以序列化为例):
String content;
PrismConfig.getInstance().serialize(
MyConfig.class,
content,
(string) -> {
// 在此处进行你自己的解析
}
);
使用的库
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。