下载量
882,054
关注数
16
数据来源
Modrinth
模组详细介绍
概述
这是一个配置 API,旨在在多个不同的其他配置库之间提供兼容性,同时也易于在多加载器项目设置中使用,主要用于我的模组中。
它提供了一个简单易用的基于注解的语法,使创建新的配置文件尽可能简单。
如果你是模组使用者,这些信息可能对你并没有太大用处。不过如果你是模组开发者,并且你想在你自己的项目中使用 Lexiconfig,请继续向下滚动到 Development 部分。
它目前还不支持其他配置库,但随着我持续更新它,我会为每一个配置库添加更多兼容性,以确保它不会与其他库发生冲突,而是能够在它们之间无缝集成。
以下是当前以及计划中的不同配置库/api 集成列表:
❌ - 未集成
✅ - 已集成
❓ - 进行中
| Status | Mod |
|---|---|
| ❌ | Cloth Config |
| ❌ | oωo config |
| ✅ | Configured |
| ❌ | Forge Config Screens |
Development
这个模组包含一个可用于注册新 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);
}
} 基本信息
模组名称Lexiconfig
作者CodinGlitch
下载量882,054
关注数16
支持版本1.18 - 1.20.6
加载器fabric / forge / neoforge
客户端required
服务端required