-
Notifications
You must be signed in to change notification settings - Fork 0
Rubric Installation
Two audiences: players who want to run a mod that uses Rubric, and developers who want to build a mod against Rubric.
Rubric ships an integration for both Fabric and NeoForge. Pick the one matching your target loader.
- Install Fabric Loader and Fabric API.
- Drop
rubric-fabric-<version>.jarinto yourmods/folder alongside the mod that depends on it. - Optional but recommended: install a config-GUI library so you can edit Rubric-backed configs from ModMenu / Catalogue:
- YetAnotherConfigLib (YACL)
- Cloth Config
- You can install both. Which one Rubric uses is controlled by the
gui.preferredFrontendsetting in Rubric's own config (defaultAUTOpicks YACL when both are present).
- Optional but recommended: ModMenu or Catalogue — Rubric registers config screen entries with both.
- Install NeoForge matching the mod's target MC version.
- Drop
rubric-neoforge-<version>.jarinto yourmods/folder alongside the mod that depends on it. - Optional but recommended: install a config-GUI library:
- YetAnotherConfigLib (YACL) — NeoForge builds available.
- Cloth Config — NeoForge builds available.
-
gui.preferredFrontendin Rubric's own config picks between them (defaultAUTO= YACL first).
- Optional but recommended: Catalogue surfaces Rubric-backed configs via NeoForge's standard
IConfigScreenFactoryextension point — no extra setup needed.
If no GUI library is installed, config buttons in ModMenu / Catalogue still work — clicking one opens a placeholder screen with buttons that reveal the config file on disk so you can edit it manually.
Rubric is published to Maven Central under group com.oliveryasuna.mc. Every module is versioned in lock-step.
repositories {
mavenCentral()
}
dependencies {
// The Fabric integration bundles every other Rubric module via Loom's
// include() mechanism, so consuming mods only need a single dep.
modImplementation("com.oliveryasuna.mc:rubric-fabric:<version>") {
// Rubric depends on Fabric API but consumers pin their own version.
exclude(group = "net.fabricmc.fabric-api")
}
include("com.oliveryasuna.mc:rubric-fabric:<version>")
}plugins {
id("net.neoforged.moddev") version "<moddev-version>"
}
repositories {
mavenCentral()
}
dependencies {
// The NeoForge integration bundles every other Rubric module via
// ModDev's jarJar mechanism, so consuming mods only need a single dep.
implementation("com.oliveryasuna.mc:rubric-neoforge:<version>")
jarJar("com.oliveryasuna.mc:rubric-neoforge:<version>")
}If you want to depend on the pure-Java modules directly (e.g. for a shared config-only library), pull them individually:
-
com.oliveryasuna.mc:rubric-api— leaf module: annotations,Formatenum. Everyone depends on it. -
com.oliveryasuna.mc:rubric-model— config data model: schema tree, format-neutralValueTree+ codecs, validators,ConfigSpecbuilder. -
com.oliveryasuna.mc:rubric-core— runtime:Rubricentry point,ConfigManager,ConfigHandle,ConfigValue, lifecycle, events,PlatformSPI. -
com.oliveryasuna.mc:rubric-io—ConfigIO/FormatAdapterinterfaces + NIO file backend. -
com.oliveryasuna.mc:rubric-format— format adapters: TOML, JSON, JSON5 (NightConfig + Jankson backends). -
com.oliveryasuna.mc:rubric-migration— versioned migration steps. -
com.oliveryasuna.mc:rubric-sync— server/client sync: wire protocol + runtime service. -
com.oliveryasuna.mc:rubric-mojang-codec— MojangCodec<T>bridge. -
com.oliveryasuna.mc:rubric-loader-common— loader-agnostic bits (self-config POJO,RubricSelf,RubricSerialization,ScreenBuildContext). Depended on transitively viarubric-fabric/rubric-neoforge.
If you already use a version catalog:
[versions]
rubric = "<version>"
[libraries]
rubric-fabric = { module = "com.oliveryasuna.mc:rubric-fabric", version.ref = "rubric" }
rubric-neoforge = { module = "com.oliveryasuna.mc:rubric-neoforge", version.ref = "rubric" }Fabric — add to fabric.mod.json:
{
"depends": {
"rubric": ">=<version>"
},
"suggests": {
"yet_another_config_lib_v3": "*",
"cloth-config": "*",
"modmenu": "*"
}
}NeoForge — add to META-INF/neoforge.mods.toml:
[[dependencies.your_mod_id]]
modId = "rubric"
type = "required"
versionRange = "[<version>,)"
ordering = "NONE"
side = "BOTH"
[[dependencies.your_mod_id]]
modId = "yet_another_config_lib_v3"
type = "optional"
versionRange = "[3.7.0,)"
ordering = "NONE"
side = "CLIENT"
[[dependencies.your_mod_id]]
modId = "cloth_config"
type = "optional"
versionRange = "[19.0,)"
ordering = "NONE"
side = "CLIENT"After bootstrap, Rubric writes its own config to <gameDir>/config/Rubric.toml. If that file exists after first launch, the library is loaded and running.
Next: Quick Start.
Rubric
Reference
Runtime
GUI
Help