HomeJavaModsSmootheez Config Lib
Smootheez Config Lib

📦 Smootheez Config Lib (SCL)

A utility mod designed to simplify configuration handling for Minecraft modding.
Primarily developed for my own mods, but freely available for public use.


❓ What is SCL?

Smootheez Config Lib (SCL) provides an easier and cleaner way to manage configurations for Minecraft mods.
It removes boilerplate and offers a simple interface for:


🖼️ In-Game Previews

🔧 Standard Config Screen

Config Preview

📝 Config Screen with Descriptions

With Description

🗂️ Edit Value in OptionList

Edit List

➕ Add Value to OptionList

Add Value

❗ Confirmation Screen

Confirmation


🚀 Getting Started

🏗️ Step 1 – Add Repository

In your build.gradle:

repositories {
    maven {
        url "https://jitpack.io"
    }
}

📦 Step 2 – Add Dependency

Using version from gradle.properties:

dependencies {
    modImplementation "com.github.smootheez:scl:${project.scl_version}"
}

Or use the version directly:

dependencies {
    modImplementation "com.github.smootheez:scl:[version]"
}

💡 Example Usage

🧱 Step 1 – Create a Config Class

@Config(name = "example_config", gui = true)
public class ExampleConfig {
    public static final ConfigOption<Integer> INT_TEXT = ConfigOption.create("intText", 0, -5, 100);
    public static final ConfigOption<Double> DOUBLE_TEXT = ConfigOption.create("doubleText", 0.0, 0.0, 2.0);
    public static final ConfigOption<Integer> INT_SLIDER = ConfigOption.create("intSlider", 0, -5, 100).asSlider();
    public static final ConfigOption<Double> DOUBLE_SLIDER = ConfigOption.create("doubleSlider", 0.0, 0.0, 2.0).asSlider();
    public static final ConfigOption<Double> DOUBLE_SLIDER_PERCENTAGE = ConfigOption.create("doubleSliderPercentage", 0.0, 0.0, 2.0).asSliderPercentage();
    public static final ConfigOption<Boolean> BOOLEAN = ConfigOption.create("boolean", false);
    public static final ConfigOption<OptionList> LIST = ConfigOption.create("list", "example_value_1", "example_value_2", "example_value_3");
    public static final ConfigOption<ExampleEnum> ENUM = ConfigOption.create("enum", ExampleEnum.EXAMPLE_VALUE_1);
}

🧩 Step 2 – Register the Config

In your fabric.mod.json:

"entrypoints": {
    // ...existing entrypoints
    "scl": [
        "dev.smootheez.scl.example.ExampleConfig"
    ]
}

✅ That's it! SCL will automatically generate:

📌 Note: The config screen will only be generated if:


📥 Download


🐞 Issue Tracker

Found a bug or have a feature suggestion?
Submit an issue here: GitHub Issues


⚠️ Important Notes


☕ Support Me

If you find this project helpful and want to support my work, consider donating:

ko-fi paypal

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more