HomeJavaModsBSCM
BSCM
ModsJava

BSCM

by RegularBen · on Modrinth

Which Minecraft do you have?

Every version of the game needs its own build. Pick yours, then download — the wrong build installs fine and then does nothing in the game. This mod is built for Fabric only.

⬇ Download for 26.1–26.1.2⬇ Download for 1.21.11
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

BSCM (Ben's S#### Config Mod)

BSCM is a lightweight, YAML configuration library for Fabric mods. It simplifies config creation, loading, and editing, so you can focus on building features instead of boilerplate.

Features

Define your config structure directly in code with simple annotations.

Human-readable, clean, and widely supported configuration format.

Built-in config screen (Mod Menu support) Easily edit in-game configs with Mod Menu.

Designed to stay out of your way while giving you full control.

Usage

  1. Create a config class

  2. Annotate fields you want to expose

  3. Let BSCM handle the rest

Example:

Gradle:

repositories{

  maven {

    name = "Modrinth"

    url = "https://api.modrinth.com/maven"
  }
  maven {
    name = "Terraformers"
    url = "https://maven.terraformersmc.com/"
  }
}
dependencies {

  modImplementation "maven.modrinth:bscm:1.0.4"
  modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"

}

Config Class:

public class ExampleConfig {

@Comment("Enable the feature")
public boolean enabled = true:

@Comment("Maximum value")
public int maxValue = 10;
}

Main Class:


import ca.techgarage.bscm.Bscm;

public void onInitialize() {

Bscm.load(ExampleConfig.class, "ModID");
}

How to set up client-side

To set up you must depend on ModMenu for the version you are using

ModMenu Integration class

public class MyModMenuIntegration extends BSCMModMenuIntegration {
    public MyModMenuIntegration() {
        super(ExampleConfig.class, "ModID");
    }
}

In your fabric.mod.json

"entrypoints": {
    "modmenu": [
        "com.example.mymod.MyModMenuIntegration"
    ]
}

BSCM will automatically:

In-Game Configuration

If you have Mod Menu installed, BSCM provides a simple config GUI so users can edit settings without leaving the game.

Dependencies

Why BSCM?

Most config systems are either:

Too complex

Too limited

Or require tons of boilerplate

BSCM aims to hit the sweet spot:

Simple, readable, and powerful enough for real mods.

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