Architectury框架下NeoForge模组启动失败问题求助
解决Architectury+NeoForge模组启动错误方案
核心错误修复
1. 替换废弃的mandatory依赖字段
找到NeoForge模块下的src/main/resources/META-INF/mods.toml,将所有依赖声明中的mandatory = true/false替换为type字段:
- 原
mandatory = true→type = "required" - 原
mandatory = false→type = "optional"
示例修改:
# 原配置 [[dependencies.owomod]] modId = "minecraft" mandatory = true versionRange = "[1.20.4,)" # 修改后 [[dependencies.owomod]] modId = "minecraft" type = "required" versionRange = "[1.20.4,)"
2. 修复Failed to find system mod: minecraft异常
这个问题通常是NeoForge模块的Gradle配置不匹配导致的,检查以下几点:
- 确认build.gradle插件与依赖版本匹配:
确保引入正确的NeoForge和Architectury插件,示例配置:plugins { id 'dev.architectury.loom' version '1.5-SNAPSHOT' id 'dev.architectury' version '9.1.12' id 'net.neoforged.gradle.userdev' version '2.0.10' } architectury { platformSetupLoomIde() neoForge() } dependencies { minecraft 'net.minecraft:minecraft:1.20.4' neoForge 'net.neoforged:neoforge:20.4.80-beta' implementation project(':common') } - 同步gradle.properties版本:
确保文件中版本与build.gradle一致:minecraft_version=1.20.4 neoforge_version=20.4.80-beta architectury_version=9.1.12 loom_version=1.5-SNAPSHOT - 移除Forge残留配置:
复制Forge模块到NeoForge时,务必删除所有Forge特有的配置(比如Forge插件引用、旧版mods.toml中的Forge专属字段)。
添加Kotlin支持的正确配置
如果要给项目添加Kotlin支持,在每个模块(common、neoforge)的build.gradle中添加:
plugins { id 'org.jetbrains.kotlin.jvm' version '1.9.22' } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.22" // 如需反射支持,添加以下依赖 // implementation "org.jetbrains.kotlin:kotlin-reflect:1.9.22" }
同时确保IDEA已安装Kotlin插件,Gradle JDK与项目JDK一致(均为21)。
彻底清理与重建步骤
如果上述修改后仍有问题,执行以下操作:
- 删除项目根目录的
.gradle文件夹和所有模块的build文件夹 - 在IDEA中执行
File -> Invalidate Caches...,选择"Invalidate and Restart" - 重启IDEA后,重新执行
Gradle -> Tasks -> build -> clean和build任务 - 重新生成运行配置(Run -> Edit Configurations,删除旧的NeoForge/Forge客户端配置,重新生成)
内容的提问来源于stack exchange,提问作者Rwagsu
相关产品推荐
相关产品推荐

