Curse Maven

Beta build - here be dragons!

Made by Wyn Price | Wyn Price#0001 | Source | Statistics


Curse maven is an alternative to the normal curseforge maven, that takes in the project id and file id, rather than getting the artifacts from the jar name.

Like to be on the safe side? Try out the stable build of cursemaven

Adding the Maven

Add https://cursemaven.com/ as a maven repository, like normal.

repositories {
    maven {
        url "https://cursemaven.com/"
    }
}

Gradle 5+

If you're using Gradle 5+, you can optimise the maven repository:

repositories {
    maven {
        url "https://cursemaven.com/"
        content {
            includeGroup "curse.maven"
        }
    }
}

Gradle 6.2+

If you're using Gradle 6.2+, you can take this further:

repositories {
    exclusiveContent {
        forRepository {
            maven {
                url "https://cursemaven.com/"
            }
        }
        filter {
            includeGroup "curse.maven"
        }
    }
}

Usage

The dependency format is as follows: curse.maven:<descriptor>-<projectid>:<fileids>


Getting the IDs

Project ID

The Project ID can be found on the About Project section of the project

File ID

To get a File ID, go to the download page of file you want to use, and the file ID will be in the URL.

Classifier Ids

You can define classifiers for cursemaven to look for in the <fileids> section

Simply add -<name>-<id> for every classifier you want.

For example, say you had curse.maven:project-11111:12345 and wanted to add the file id 56789 as sources, you would now have: curse.maven:project-11111:12345-sources-56789

This work for any classifier, and stacks; you can do as many classifiers as you want


If the classifier was uploaded sequentially to the main file (file Ids are sequential), then you can skip the extra numbers and instead put the list of classifiers in order

For example,
curse.maven:project-11111:12345-sources-12346-debof-12347-api-12348
is the same as
curse.maven:project-11111:12345-sources-debof-api
as all the numbers are sequential.

If you mix sequential and non-sequential file ids, then ensure that the sequential file ids come after the non-sequential file ids:
12345-sources-56789-api = 12345-sources-56789-api-12346
12345-api-sources-5678 = 12345-api-sources-5678 (api-sources) is a single classifier


Examples

Forge example
Fabric example
dependencies {
    api "curse.maven:jei-238222:2724420"
}

Would point here with the scope api


dependencies {
    implementation fg.deobf("curse.maven:ctm-267602:2642375")
}

Would point here with the scope implementation, and be decompiled by ForgeGradle


dependencies {
    implementation "curse.maven:mouse-tweaks-60089:3399291-sources-3399292-api-3399293"
}

Would point here (3399291) the sources pointing here (3399292) and the api pointing here (3399293)


dependencies {
    implementation "curse.maven:jer-240630:2452535-deobf-sources-api"
}

Would point here (2452535) the deobf pointing here (2452536) the sources pointing here (2452537) and the api pointing here (2452538)

Testing

To test cursemaven, get the project id and file ids, and navigate to https://cursemaven.com/test/<ProjectId>/<FileIds>

Special Thanks