这是一个配置 API,旨在在多个不同的其他配置库之间提供兼容性,同时也易于在多加载器项目设置中使用,主要用于我的模组中。
它提供了一个简单易用的基于注解的语法,使创建新的配置文件尽可能简单。
如果你是模组使用者,这些信息可能对你并没有太大用处。不过如果你是模组开发者,并且你想在你自己的项目中使用 Lexiconfig,请继续向下滚动到 Development 部分。
它目前还不支持其他配置库,但随着我持续更新它,我会为每一个配置库添加更多兼容性,以确保它不会与其他库发生冲突,而是能够在它们之间无缝集成。
以下是当前以及计划中的不同配置库/api 集成列表:
❌ - 未集成
✅ - 已集成
❓ - 进行中
| Status | Mod |
|---|---|
| ❌ | Cloth Config |
| ❌ | oωo config |
| ✅ | Configured |
| ❌ | Forge Config Screens |
这个模组包含一个可用于注册新 lexicon、监听事件等的 api。
build.gradle
repositories {
maven { url 'https://maven.codinglitch.com/repository/releases' }
}
dependencies {
implementation "com.codinglitch.lexiconfig:lexiconfig-api:API_VERSION_HERE"
}
你可以前往 https://versions.codinglitch.com 查看最新的 api 版本。
要注册你自己的 lexicon,首先你必须创建你自己的 Library。只需创建一个继承 Library 类的新类,并为其添加 LexiconLibrary 注解即可完成。
@LexiconLibrary
public class MyNewLibrary extends Library {
@Override
public void shelveLexicons() {
}
}
在 Forge 环境中,不需要再进行其他更改。不过,如果你是在为 Fabric 开发,你需要将这个类作为入口点添加到你的 fabric.mod.json 中。
fabric.mod.json
//...
"entrypoints": {
"lexiconfig": [
"com.path.to.MyNewLibrary"
]
}
//...
下一步就是最终创建并注册你的 lexicon。你可以通过简单地为 lexicon 再创建一个类,并为其提供适当的注解来完成,如下所示:
@Lexicon(name = MY_LEXICON_TITLE) // 最好使用你的 mod id 作为名称
public class MyLexicon extends LexiconData {
@LexiconEntry(comment = "这是一个简单字段的注释!")
public String mySimpleField = "content";
@LexiconPage(comment = "这是一个花哨的新分类上的花哨新注释!")
public MyNewPage myNewPage = new MyNewPage();
public static class MyNewPage extends LexiconPageData {
@LexiconEntry(comment = "这个字段位于一个 lexicon 页面内!")
public Boolean myPageField = true;
}
}
下一个也是最后一步是注册该 lexicon,这可以通过简单地将它的一个实例作为字段添加到 library 中,并在给定的方法中注册它来完成。
@LexiconLibrary
public class MyNewLibrary extends Library {
public static MyLexicon MY_LEXICON = new MyLexicon();
@Override
public void shelveLexicons() {
LexiconfigApi.shelveLexicon(MY_LEXICON);
}
} 友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:165,184 | 历史访问人次:264,451
今日访问人数:2,109 | 今日访问人次:2,344
昨日访问人数:23,567 | 昨日访问人次:27,193
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6