Forge MDK + Sponge Problem

build.gradle

    buildscript {
    repositories {
        jcenter()
        maven { url = "http://files.minecraftforge.net/maven" }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}
plugins {
    id 'org.spongepowered.plugin' version '0.9.0'
}

dependencies {
    compile 'org.spongepowered:spongeapi:7.1.0'
}
apply plugin: 'net.minecraftforge.gradle.forge'

//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
compileJava.options.encoding = 'UTF-8'

version = "1.0"
group = "com.zeon4.mcbga" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "mcbg"

sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
compileJava {
    sourceCompatibility = targetCompatibility = '1.8'
}

minecraft {
    version = "1.12.2-14.23.5.2825"
    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 always work.
    // simply re-run your setup task after changing the mappings to update your workspace.
    //forgeVersion = '2825'
    mappings = "stable_39"
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}

dependencies {
    // you may put jars on which you depend on in ./libs
    // or you may define them like so..
    //compile "some.group:artifact:version:classifier"
    //compile "some.group:artifact:version"
    compile files('build/libs/PUBGMC-1.5.4.jar')

    //compile files('C:/Users/Dima/Desktop/Forge mdk/build/libs/spongeapi-7.1.0-shaded.jar')
    // real examples
    //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev'  // adds buildcraft to the dev env
    //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env

    // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
    //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // the deobf configurations:  'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided,
    // except that these dependencies get remapped to your current MCP mappings
    //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev'
    //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev'

    // for more info...
    // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
    // http://www.gradle.org/docs/current/userguide/dependency_management.html

}

processResources {
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
                
        // replace version and mcversion
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    // copy everything else except the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

I read doc
https://docs.spongepowered.org/stable/en/plugin/internals/mcp-setup.html#forge-workspace
And I run
gradle setupDecompWorkspace
But get error

What went wrong:
    A problem occurred configuring root project 'Forge mdk'.
    > Failed to notify project evaluation listener.
       > Plugin ID must match pattern [a-z][a-z0-9-_]{0,63}. Expression: (id ==~ org.spongepowered.plugin.meta.PluginMetadata.ID_PATTERN). Values: id = forge mdk

Your Plugin ID must match pattern [a-z][a-z0-9-_]{0,63}

Seriously read the thing. In case you can’t make any sense of that pattern: it must start with lowercase letters a to z, continue with lowercase letters a to z or digits 0 through 9 * and must not be longer than 63 characters. You probably have a space in there

*edit: underscores are ok after the initial letter as well

2 Likes

Try adding this to your build.gradle file:

sponge {
    plugin {
        id = 'pluginidgoeshere'
    }
}

Replace pluginidgoeshere with your plugin ID (it should match what you put in your @Plugin annotation).