Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I have been trying to include an external library dependency to my mod by trying to shade it as written here: https://forgegradle.readthedocs.org/en/FG_1.2/user-guide/shading/

However when i add this to my build.gradle:

minecraft {
    srgExtra "PK:com/dependency my/mod/com/dependency"
}

 

and i do

./gradlew build

i get this error

FAILURE: Build failed with an exception.

* Where:
Build file '/home/minecraftProject/build.gradle' line: 56

* What went wrong:
A problem occurred evaluating root project 'minecraftProject'.
> Could not find method srgExtra() for arguments [PK:com/dependency my/mod/com/dependency] on root project 'minecraftProject'.

 

here's my build.gradle

 


// For those who want the bleeding edge
buildscript {
    repositories {
        jcenter()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
    }
    
}

apply plugin: 'net.minecraftforge.gradle.forge'


/*
// for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot
plugins {
    id "net.minecraftforge.gradle.forge" version "2.0.2"
}
*/
version = "0.1"
group= "my.mod.package" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "ModName"
sourceCompatibility = 1.8 
targetCompatibility = 1.8

minecraft {
    version = "1.8.9-11.15.1.1722"
    runDir = "run"
    
    // the mappings can be changed at any time, and must be in the following format.
    // snapshot_YYYYMMDD   snapshot are built nightly.
    // stable_#            stables are built at the discretion of the MCP team.
    // Use non-default mappings at your own risk. they may not allways work.
    // simply re-run your setup task after changing the mappings to update your workspace.
    mappings = "stable_20"
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.

srgExtra "PK: com/dependency my/mod/com/dependency"
}
configurations {
    shade
    compile.extendsFrom shade
}
dependencies {
    shade fileTree(dir: 'libs', include: '*.jar')
}

jar {
    configurations.shade.each { dep ->
        from(project.zipTree(dep)) {
            exclude 'META-INF', 'META-INF/**'
        }
    }
}
processResources
{

    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info' 
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
    
}

 

 

how can i solve it? i've been searching all day but got no luck

  • 11 months later...

Super duuuuper necro post, but for anyone who finds themselves here after trying the srgExtra line, it's been changed in newer versions of gradle (2.2-SNAPSHOT I know, but maybe even earlier).

Now instead of doing:

minecraft {
    ...
    srgExtra "PK: ..."
}

 

You have to do:

reobf {
    jar {
        extraLine "PK: ..."
    }
}

 

Relevant XKCD: https://xkcd.com/979/

Guest
This topic is now closed to further replies.

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.