CurseMaven Integration Guide

â„šī¸ Before You Start:

1. Repository Setup

Add to your build.gradle:

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

2. Dependency Syntax

Basic format:

implementation fg.deobf("curse.maven:<projectname>-<projectid>:<fileid>")
PartDescriptionExample
projectnameMod slug (for readability)drop-rate-api
projectidCurseForge project ID1208468
fileidSpecific file ID6249868

3. Finding IDs

Project ID

Found in the "About Project" section:

Project ID location

File ID

Visible in file download URLs:

https://www.curseforge.com/minecraft/mc-mods/drop-rate-api/download/6249868
âš ī¸ Common Issues:

4. Advanced Usage

Multiple Files/Classifiers

implementation fg.deobf("curse.maven:ctm-267602:2642375-sources-2642376")

Sequential IDs

implementation fg.deobf("curse.maven:jei-238222:2724420-api-config")

Translates to:

5. Verification

Test your configuration at:

https://cursemaven.com/test/<projectid>/<fileid>

Example: https://cursemaven.com/test/1208468/6249868

6. build.gradle Example

Example can "BUILD SUCCESSFUL"

buildscript {
    repositories {
        maven { url = 'https://maven.minecraftforge.net' }
        mavenCentral()
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
    }
}

plugins {
    id 'eclipse'
    id 'maven-publish'
}

apply plugin: 'net.minecraftforge.gradle'

version = '1.0.0'
group = 'com.example.mod'
archivesBaseName = 'examplemod'

java.toolchain.languageVersion = JavaLanguageVersion.of(8)

minecraft {
    mappings channel: 'official', version: '1.16.5'
    
    runs {
        client {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        server {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        data {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'
            args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }
    }
}

sourceSets.main.resources { srcDir 'src/generated/resources' }

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

dependencies {
    minecraft 'net.minecraftforge:forge:1.16.5-36.2.39'

    // Drop Rate API (CurseForge ID: 1208468, File ID: 6249868)
    implementation fg.deobf("curse.maven:drop-rate-api-1208468:6249868")
}

jar {
    manifest {
        attributes([
            "Specification-Title": "examplemod",
            "Specification-Vendor": "examplevendor",
            "Specification-Version": "1",
            "Implementation-Title": project.name,
            "Implementation-Version": "${version}",
            "Implementation-Vendor": "examplevendor",
            "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
}

jar.finalizedBy('reobfJar')

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact jar
        }
    }
    repositories {
        maven {
            url "file:///${project.projectDir}/mcmodsrepo"
        }
    }
}

    

Complete Example

dependencies {
    minecraft 'net.minecraftforge:forge:1.16.5-36.2.39'
    
    // Drop Rate API (1.16.5)
    implementation fg.deobf("curse.maven:drop-rate-api-1208468:6249868")
    
    // JEI with sources
    implementation fg.deobf("curse.maven:jei-238222:2724420-sources-2724421")
}
📚 Pro Tips: