Back to mods
ReLib project artwork

CurseForge · Minecraft mod

ReLib

General-purpose Minecraft mod library, also powering Rere's mods

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which ReLib release should I use?

Updated last month
Latest stable file ReLib 0.2.1+26.1
Game version 26.1, 26.1.1, 26.1.2
Loader Fabric

ReLib 0.2.1+26.1 targets 26.1, 26.1.1, 26.1.2 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is ReLib required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does ReLib 0.2.1+26.1 need?

ReLib 0.2.1+26.1. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add ReLib without breaking your instance.

Built for ReLib 0.2.1+26.1. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use ReLib 0.2.1+26.1. It targets 26.1, 26.1.1, 26.1.2 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside ReLib 0.2.1+26.1. It opens that exact file at the source.

About this project

What does ReLib add?

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 @Config annotation
  • 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 optionsBooleanOption, StringOption, IntegerOption, DoubleOption, EnumOption<E>, ListStringOption
  • Bounded rangesIntegerOption and DoubleOption enforce min/max bounds
  • List supportListStringOption backed by a mutable ListString wrapper with add, 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.

Project description from CurseForge.

Pick your setup

ReLib by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

3 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

ReLib versions and loaders

3 of 3 releases match

Looking for an older file? The official CurseForge project page is in Resources.