Skip to content

Rubric Installation

Oliver Yasuna edited this page Jul 1, 2026 · 2 revisions

Rubric — Installation

Two audiences: players who want to run a mod that uses Rubric, and developers who want to build a mod against Rubric.

For players

  1. Install Fabric Loader and Fabric API.
  2. Drop rubric-fabric-<version>.jar into your mods/ folder alongside the mod that depends on it.
  3. 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.preferredFrontend setting in Rubric's own config (default AUTO picks YACL when both are present).
  4. Optional but recommended: ModMenu or Catalogue — Rubric registers config screen entries with both.

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.

For mod developers

Rubric is published to Maven Central under group com.oliveryasuna.mc. Every module is versioned in lock-step.

Gradle (Kotlin DSL)

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>")
}

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 — annotations, Format enum.
  • com.oliveryasuna.mc:rubric-value — format-neutral ValueTree + codecs.
  • com.oliveryasuna.mc:rubric-schema — schema model + reader.
  • com.oliveryasuna.mc:rubric-validation — validator interfaces + built-ins.
  • com.oliveryasuna.mc:rubric-coreConfigManager, lifecycle, events, platform SPI.
  • com.oliveryasuna.mc:rubric-io-spiConfigIO / FormatAdapter interfaces.
  • com.oliveryasuna.mc:rubric-io-file — NIO file backend.
  • com.oliveryasuna.mc:rubric-migration — versioned migration steps.
  • com.oliveryasuna.mc:rubric-format-toml — TOML adapter.
  • com.oliveryasuna.mc:rubric-format-nightconfig — shared NightConfig bridge.
  • com.oliveryasuna.mc:rubric-format-json — JSON adapter (NightConfig).
  • com.oliveryasuna.mc:rubric-format-json5 — JSON5 adapter (Jankson).
  • com.oliveryasuna.mc:rubric-mojang-codec — Mojang Codec<T> bridge.
  • com.oliveryasuna.mc:rubric-sync-protocol — wire format for sync.
  • com.oliveryasuna.mc:rubric-sync — server/client sync logic.

Gradle Version Catalog

If you already use a version catalog:

[versions]
rubric = "<version>"

[libraries]
rubric-fabric = { module = "com.oliveryasuna.mc:rubric-fabric", version.ref = "rubric" }

Fabric depends

Add Rubric to your fabric.mod.json:

{
    "depends": {
        "rubric": ">=<version>"
    },
    "suggests": {
        "yet_another_config_lib_v3": "*",
        "cloth-config": "*",
        "modmenu": "*"
    }
}

Verifying it works

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.

Clone this wiki locally