Skip to content

CurseMaven

Cleanroom's simplified CurseMaven service: a CurseForge wrapper as maven repository for pulling CurseForge mods as dependencies into your mods. Even for mods that disallow distribution to third-parties!

Repository

Add the repository with an exclusiveContent filter so only the curse.maven group resolves against it:

groovy
exclusiveContent {
    forRepository {
        maven {
            name 'CurseMaven'
            url 'https://curse.cleanroommc.com'
        }
    }
    filter {
        includeGroup 'curse.maven'
    }
}

Coordinate Anatomy

A CurseMaven coordinate is built from four parts (plus an optional source suffix):

curse.maven:mouse-tweaks-60089:3359843+3359844
  • curse.maven - fixed group id. Always this, never changes.
  • Label - free-form readability tag. Use the mod's slug; it has no effect on resolution.
  • Project ID - numeric CurseForge project id, found on the mod page sidebar.
  • File ID - numeric id of the specific file, from its download/files URL.
  • Source File ID - optional +suffix pointing at the matching sources jar. Compatible with IntelliJ's Download Sources mechanic.

Fill in label, Project ID and File ID to generate a coordinate.

TIP

Paste a CurseForge link above and the builder fills in everything. The Project ID is resolved automatically (it isn't part of the URL), and you can copy it into your gradle buildscript!

Dependencies

Drop the generated coordinate into your dependencies block:

groovy
dependencies {
    // Example
    // mouse-tweaks = Label
    // 60089        = Project ID
    // 3359843      = File ID
    // +3359844     = (OPTIONAL) suffix to denote the File ID of a "source jar"
    implementation 'curse.maven:mouse-tweaks-60089:3359843+3359844'
}

Contributors

© 2024 CleanroomMC. All Rights Reserved.