ReLib
No reviews yet
General-purpose Minecraft mod library, also powering Rere's mods
Provides a framework or library for other mods to use.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
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
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.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers