Prism Config
A lightweight config library for Java to let you write your config elegantly and flexibly. Theoretically standalone from any loaders.
介绍
Getting Started
For users, Prism Config can be installed as a Fabric mod natively as it includes a fabric.mod.json, but it is mostly for JiJ, and the mod itself is actually just a normal Java library, so it can theoretically run on any Minecraft version with any loader. However, support for specific mods, like Mod Menu, is planned.
For developers, to add Prism Config to your project, you need to add following into your 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"
// Or use the slim jar if you have the libraries included in your project (Gson, Jankson...)
// 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")
// Or use the slim jar if you have the libraries included in your project (Gson, Jankson...)
// implementation("io.github.prismwork:prismconfig:0.2.0")
}
Prism Config by default provides serializers and deserializers for JSON (Gson), JSON5 (Jankson) and TOML 0.4.0 (toml4j).
To parse a config from string into object, you can do this:
String content;
MyConfig config = PrismConfig.getInstance().serialize(
MyConfig.class,
content,
DefaultSerializers.getInstance().json5(MyConfig.class) // We assume that your config is written in JSON5
);
To parse a config from object into string, you can do this:
MyConfig content;
String config = PrismConfig.getInstance().deserialize(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class) // We assume that your config is written in JSON5
);
You can also write it to a file:
MyConfig content;
File configFile;
PrismConfig.getInstance().deserializeAndWrite(
MyConfig.class,
content,
DefaultDeserializers.getInstance().json5(MyConfig.class), // We assume that your config is written in JSON5
configFile
);
To write your own serializer/deserializer, you can use the following code (we use serializing as an example):
String content;
PrismConfig.getInstance().serialize(
MyConfig.class,
content,
(string) -> {
// Do your own parsing here
}
);
Libraries Used
常见问题
Prism Config 支持哪些 Minecraft 版本?
Prism Config 支持 Minecraft Java 版 1.14–1.19.3,共 23 个版本,可用的加载器:Fabric / Quilt。下载时注意选择和你游戏版本一致的文件。
Prism Config 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
moechakucha 的其他作品
查看全部 →EMI Trades (Villager Trading EMI Plugin)
适用于 EMI 的村民交易 trades
EMIffect
EMI附属模组,在EMI中显示状态效果并提供每种状态效果的信息。
EMIffect (Status Effects EMI Plugin)
一个 EMI 附属模组,可在 EMI 中添加状态效果,并提供每种状态效果的详细信息。
EMI Trades
EMI 的村民交易信息。
评论
登录后评论和评分