Jump to content

[1.12.2] Strange reobfuscation jar, Crash when registering command


Recommended Posts

Posted (edited)

I've been searching for related issue in the Google and still can't find an answer to solve this. And I don't know what's going on with my build.gradle.

 

My Current Gradle (working properly) :

buildscript {
    repositories {
        jcenter()
        maven { url = "http://files.minecraftforge.net/maven" }
    }
    dependencies {
        classpath "net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT"
        classpath "gradle.plugin.com.matthewprenger:CurseGradle:1.0.11"
    }
}

plugins {
    id "com.matthewprenger.cursegradle" version "1.0.11"
}

def api = new groovy.json.JsonSlurper().parseText(file("${api_token_path}").text)
def keystore = new groovy.json.JsonSlurper().parseText(file("${keystore_path}").text)
def mcVersion = project.mc_version

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

sourceSets.main {
    java {
        srcDirs = ["src/main/java", "dependencies/main/java", "src/api/java"]
    }
    resources {
        srcDirs = ["src/main/resources", "dependencies/main/resources", "src/api/resources"]
    }
}

version = project.version
group = "stevekung.mods.moreplanets"
archivesBaseName = "More-Planets-All"
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8

minecraft {
    version = "1.12.2-14.23.4.2725"
    runDir = "run"
    mappings = "snapshot_20171003"
    makeObfSourceJar = false

    replace "@FINGERPRINT@", keystore.sha1
    replace "4.0.1.-1", project.gc_require_version
    replaceIn "MorePlanetsMod.java"
}

repositories {
    // Hwyla : https://tehnut.info/maven/mcp/mobius/waila/Hwyla/
    maven {
        url "http://tehnut.info/maven/"
    }
    // JEI
    maven {
        url "http://dvs1.progwml6.com/files/maven"
    }
    // Code Chicken Lib : http://chickenbones.net/maven/codechicken/CodeChickenLib/
    maven {
        url "http://chickenbones.net/maven/"
    }
    // Curse Gradle
    maven {
        url "https://plugins.gradle.org/m2/"
    }
    // CTM : https://maven.tterrag.com/index.php?dir=team%2Fchisel%2Fctm%2FCTM
    maven {
        url "http://maven.tterrag.com/"
    }
}

dependencies {
    compile "mezz.jei:jei_${mc_version}:${jei_version}:api"
    compile "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:deobf"
    deobfCompile "team.chisel.ctm:CTM:MC${ctm_version}"
    deobfCompile "mcp.mobius.waila:Hwyla:${hwyla_version}"
    runtime "mezz.jei:jei_${mc_version}:${jei_version}"
    runtime "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:deobf"
}

curseforge {
    apiKey = api.more_planets
    project {
        id = "261990"
        changelog = ""
        changelogType = "markdown"
        releaseType = "beta"
        addGameVersion mcVersion

        mainArtifact(file("build/libs/More-Planets-" + mcVersion + "-" + version + ".jar")) {
            displayName = "More-Planets-" + mcVersion + "-" + version
            relations {
                requiredLibrary "stevekungs-lib"
                optionalLibrary "jei"
                optionalLibrary "ctm"
                optionalLibrary "hwyla"
            }
        }
    }
}

ext.finalJar = "build/libs/" + "More-Planets-" + mcVersion + "-" + version + ".jar"
ext.coreJar = "build/libs/" + archivesBaseName + "-" + version + ".jar"
ext.coreFiles = ["stevekung/mods/moreplanets/**", "assets/moreplanets/**", "license.txt", "pack.mcmeta", "META-INF/moreplanets_at.cfg"]

// signing jar first
task buildJar(type: SignJar, dependsOn: "processJar") {
    keyStore = keystore.keystore_path
    alias = keystore.alias
    storePass = keystore.keystore_pass
    keyPass = keystore.keystore_pass
    inputFile = project.ext.finalJar
    outputFile = project.ext.finalJar
}

// processing jar
task processJar(type: Jar, dependsOn: "rePackAllJar") {
    outputs.upToDateWhen { false }
    baseName = "More-Planets-" + mcVersion

    from(zipTree(project.ext.coreJar)) {
        includes.addAll(project.ext.coreFiles)
    }
    manifest {
        attributes.put("FMLAT", "moreplanets_at.cfg")
        attributes.put("FMLCorePluginContainsFMLMod", "true")
    }
}

task rePackAllJar(type: Jar, dependsOn: "copyModFiles") {
    from "temporary"
}

task copyModFiles(type: Copy, dependsOn: "reobfJar") {
    from(zipTree(project.ext.coreJar))
    into "temporary"
}

task deleteTemporary(type: Delete) {
    delete "temporary"
}

task buildDeobfJar(type: Jar) {
    from sourceSets.main.output
    classifier = "deobf"
    manifest {
        attributes.put("FMLAT", "moreplanets_at.cfg")
        attributes.put("FMLCorePluginContainsFMLMod", "true")
    }
}

buildJar.finalizedBy(deleteTemporary)

 

My Current Gradle (cleanup, doesn't work in end user environment) :

buildscript {
    repositories {
        jcenter()
        maven { url = "http://files.minecraftforge.net/maven" }
    }
    dependencies {
        classpath "net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT"
        classpath "gradle.plugin.com.matthewprenger:CurseGradle:1.0.11"
    }
}

plugins {
    id "com.matthewprenger.cursegradle" version "1.0.11"
}

repositories {
    // Hwyla : https://tehnut.info/maven/mcp/mobius/waila/Hwyla/
    maven {
        url "http://tehnut.info/maven/"
    }
    // JEI
    maven {
        url "http://dvs1.progwml6.com/files/maven"
    }
    // Code Chicken Lib : http://chickenbones.net/maven/codechicken/CodeChickenLib/
    maven {
        url "http://chickenbones.net/maven/"
    }
    // Curse Gradle
    maven {
        url "https://plugins.gradle.org/m2/"
    }
    // CTM : https://maven.tterrag.com/index.php?dir=team%2Fchisel%2Fctm%2FCTM
    maven {
        url "http://maven.tterrag.com/"
    }
}

def api = new groovy.json.JsonSlurper().parseText(file("${api_token_path}").text)
def keystore = new groovy.json.JsonSlurper().parseText(file("${keystore_path}").text)
def mcVersion = project.mc_version

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

sourceSets.main {
    java {
        srcDirs = ["src/main/java", "dependencies/main/java", "src/api/java"]
    }
    resources {
        srcDirs = ["src/main/resources", "dependencies/main/resources", "src/api/resources"]
    }
}

version = project.version
group = "stevekung.mods.moreplanets"
archivesBaseName = "More-Planets"
sourceCompatibility = targetCompatibility = 1.8

minecraft {
    version = "1.12.2-14.23.4.2725"
    runDir = "run"
    mappings = "snapshot_20171003"
    makeObfSourceJar = false

    replace "@FINGERPRINT@", keystore.sha1
    replace "4.0.1.-1", project.gc_require_version
    replaceIn "MorePlanetsMod.java"
}

dependencies {
    compile "mezz.jei:jei_${mc_version}:${jei_version}:api"
    compile "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:deobf"
    deobfCompile "team.chisel.ctm:CTM:MC${ctm_version}"
    deobfCompile "mcp.mobius.waila:Hwyla:${hwyla_version}"
    runtime "mezz.jei:jei_${mc_version}:${jei_version}"
    runtime "codechicken:CodeChickenLib:${mc_version}-${ccl_version}:deobf"
}

jar {
    include "stevekung/mods/moreplanets/**"
    include "assets/moreplanets/**"
    include "META-INF/moreplanets_at.cfg"
    include "license.txt"
    include "pack.mcmeta"

    manifest {
        attributes("FMLAT": "moreplanets_at.cfg", "FMLCorePluginContainsFMLMod": "true")
    }
    baseName = "More-Planets-" + mcVersion
}

curseforge {
    apiKey = api.more_planets
    project {
        id = "261990"
        changelog = ""
        changelogType = "markdown"
        releaseType = "beta"
        addGameVersion mcVersion

        mainArtifact(file("build/libs/More-Planets-" + mcVersion + "-" + version + ".jar")) {
            displayName = "More-Planets-" + mcVersion + "-" + version
            relations {
                requiredLibrary "stevekungs-lib"
                optionalLibrary "jei"
                optionalLibrary "ctm"
                optionalLibrary "hwyla"
            }
        }
    }
}

task signJar(type: SignJar, dependsOn: reobfJar) {
    keyStore = keystore.keystore_path
    alias = keystore.alias
    storePass = keystore.keystore_pass
    keyPass = keystore.keystore_pass
    inputFile = jar.archivePath
    outputFile = jar.archivePath
}

task deobfJar(type: Jar) {
    from sourceSets.main.output
    classifier = "deobf"
    manifest {
        attributes("FMLAT": "moreplanets_at.cfg", "FMLCorePluginContainsFMLMod": "true")
    }
}

build.dependsOn signJar

 

Crash Log :

https://pastebin.com/KDRq0FY2

Edited by lamp3345
Posted

You have not provided an override for an abstract method, according to the exception.

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

  Reveal hidden contents

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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