介绍
ReLib
General-purpose utility library for Fabric mods, originally built for TheSmoothRere’s mods but open for anyone to use.
Features
- Config system — Define configuration classes with the
@Configannotation - Auto-discovery — Configs are automatically discovered via Fabric entrypoints and registered at startup
- JSON persistence — Config values are saved/loaded as pretty-printed JSON via Gson
- Typed options —
BooleanOption,StringOption,IntegerOption,DoubleOption,EnumOption<E>,ListStringOption - Bounded ranges —
IntegerOptionandDoubleOptionenforce min/max bounds - List support —
ListStringOptionbacked by a mutableListStringwrapper withadd,edit,remove,clear
Usage
1. Create a config class
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. Register the entrypoint in fabric.mod.json
{
"entrypoints": {
"relib": [
"com.example.MyModConfig"
]
}
}
3. Access your config anywhere
MyModConfig config = ConfigManager.get(MyModConfig.class);
boolean enabled = config.enabled().getValue();
ConfigManager.load(config);
ConfigManager.save(config);
Option Types
| Class | Value Type | Bounded |
|——-|———–|———|
| BooleanOption | Boolean | No |
| StringOption | String | No |
| IntegerOption | Integer | Yes |
| DoubleOption | Double | Yes |
| EnumOption<E> | E extends Enum<E> | No |
| ListStringOption | ListString | No |
License
Licensed under the GNU Lesser General Public License v2.1. See LICENSE.
常见问题
ReLib 支持哪些 Minecraft 版本?
ReLib 支持 Minecraft Java 版 26.1–26.3,共 5 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
ReLib 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
TheSmoothRere 的其他作品
查看全部 →
Ench Tell
Shows you what an enchantment does the moment you hover over it, adding a description of the enchantment directly to the tooltip.
Combat Tell
Displays damage and healing as particles whenever an entity takes damage or is healed.
Deplete Tell
A mod that shows the durability of any damageable item directly in its tooltip, so you always know how much life your gear has left at a glance.
评论
登录后评论和评分