Curse Maven
Beta build - here be dragons!
Made by Wyn Price | Wyn Price#0001 | Source | StatisticsCurse 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>
- curse.maven -> Required. Marks the dependency to be resolved by the curse maven website.
- <descriptor> -> Can be anything you want. This file downloaded will have this in it's name, so it's good to use this to show which files are what. A good practice would be to have this as the project slug.
- <projectid> -> The project id of the file you want to add as a dependency.
- <fileids> -> The file ids of the file you want to add as a dependency, plus the any optional classifiers. (Read below for more info)
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
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 exampleFabric 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
- Tamaized for working with me to figure out the cloudflare/403 issues.
- NeusFear for helping with the website and hosting.