
ReLib
通用Minecraft Mod库,同时驱动着Rere的Mod
ReLib
专为 Fabric 模组设计的通用工具库,最初为 TheSmoothRere 的模组构建,但任何人都可以使用。
功能
- 配置系统 — 使用
@Config注解定义配置类 - 自动发现 — 通过 Fabric 入口点自动发现配置,并在启动时注册
- JSON 持久化 — 配置值通过 Gson 以格式化的 JSON 形式保存/加载
- 类型化选项 —
BooleanOption、StringOption、IntegerOption、DoubleOption、EnumOption<E>、ListStringOption - 范围限制 —
IntegerOption和DoubleOption强制最小/最大值范围 - 列表支持 —
ListStringOption基于可变ListString包装器,支持add、edit、remove、clear
使用方式
1. 创建配置类
import io.github.thesmoothrere.relib.config.ListString;
import io.github.thesmoothrere.relib.config.option.*;
@Config(name = "my_mod")
public class MyModConfig implements ConfigApi {
private final BooleanOption enabled = new BooleanOption("enabled", true);
private final IntegerOption volume = new IntegerOption("volume", 50, 0, 100);
private final DoubleOption sensitivity = new DoubleOption("sensitivity", 0.5, 0.0, 1.0);
private final StringOption greeting = new StringOption("greeting", "Hello!");
private final EnumOption<MyEnum> mode = new EnumOption<>("mode", MyEnum.NORMAL);
private final ListStringOption favoriteColors = new ListStringOption("favorite_colors", "red", "blue");
public ConfigOption<Boolean> enabled() {
return enabled;
}
public ConfigOption<Integer> volume() {
return volume;
}
public ConfigOption<Double> sensitivity() {
return sensitivity;
}
public ConfigOption<String> greeting() {
return greeting;
}
public ConfigOption<MyEnum> mode() {
return mode;
}
public ConfigOption<ListString> favoriteColors() {
return favoriteColors;
}
}
2. 在 fabric.mod.json 中注册入口点
{
"entrypoints": {
"relib": [
"com.example.MyModConfig"
]
}
}
3. 在任何地方访问配置
MyModConfig config = ConfigManager.get(MyModConfig.class);
boolean enabled = config.enabled().getValue();
ConfigManager.load(config);
ConfigManager.save(config);
选项类型
| 类 | 值类型 | 有范围限制 |
|---|---|---|
BooleanOption |
Boolean |
否 |
StringOption |
String |
否 |
IntegerOption |
Integer |
是 |
DoubleOption |
Double |
是 |
EnumOption<E> |
E extends Enum<E> |
否 |
ListStringOption |
ListString |
否 |
许可证
根据 GNU 宽松通用公共许可证 v2.1 授权。请参阅 LICENSE。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。