IntelliJ IDEA同步Gradle时Forge插件报错,求解决方案
修复Forge Gradle构建时的"You must set the Minecraft Version!"错误
错误原因
适配MC1.7.10的ForgeGradle 1.2版本要求必须在应用forge插件前定义Minecraft版本,你的配置是先应用插件再设置版本,导致插件初始化时读取不到版本,触发空指针和版本未设置的报错。
修复方案
调整代码顺序,将minecraft配置块移到apply plugin: 'forge'之前,修改后的完整build.gradle代码如下:
buildscript { repositories { mavenCentral() maven { name = 'forge' url = 'http://files.minecraftforge.net/maven' } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } // 先配置minecraft版本,再应用插件 minecraft { version = "1.7.10-10.13.4.1614-1.7.10" runDir = "run" } apply plugin: 'forge' version = "1.0" group = "com.example" archivesBaseName = "examplemod" repositories { mavenCentral() maven { name = 'forge' url = 'http://files.minecraftforge.net/maven' } } dependencies { // 添加你的依赖在这里 } 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' } }
关键说明
ForgeGradle 1.2在应用插件时会立即检查Minecraft版本是否存在,所以必须把版本配置放在插件应用语句之前。新版本ForgeGradle无此限制,但适配MC1.7.10的旧版本严格要求这个顺序。
内容的提问来源于stack exchange,提问作者V8 Eater




