Description
π¦ 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:
- β Config file management
- π οΈ Automatic config screen generation
- βοΈ Automatic config file generation
πΌοΈ In-Game Previews
π§ Standard Config Screen

π Config Screen with Descriptions

ποΈ Edit Value in OptionList

β Add Value to OptionList

β Confirmation Screen

π 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:
- The config file
- The config screen (requires
ModMenu)
π Note: The config screen will only be generated if:
gui = trueis set- The config
namematches your mod ID
π₯ Download
- π Modrinth
- π CurseForge
- π¦ JitPack Releases
π Issue Tracker
Found a bug or have a feature suggestion?
Submit an issue here: GitHub Issues
β οΈ Important Notes
- β Compatible with Minecraft 1.20.1+
- π Licensed under the MIT License
β Support Me
If you find this project helpful and want to support my work, consider donating:


