You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

NeoForge 1.21.1中Geckolib HumanoidArmorLayerMixin注入失败求助

解决Geckolib Mixin注入失败问题(MC 1.21.1 + NeoForge 21.1.176)

问题核心

你碰到的错误是Geckolib的HumanoidArmorLayerMixin无法找到目标注入方法,且未加载refMap文件,导致客户端启动崩溃。以下是针对性的排查和修复步骤:

1. 确认版本兼容性

Geckolib 4.6.5可能未完全适配NeoForge 21.1.176(对应MC 1.21.1):

  • 查看Geckolib的版本更新记录,确认该版本是否明确支持当前NeoForge版本
  • 尝试升级到Geckolib最新兼容版,或降级至官方标注适配MC 1.21.1的版本

2. 检查构建脚本与模组配置

Gradle配置(确保生成refMap)

build.gradle(Groovy)或build.gradle.kts(Kotlin)中添加Mixin配置:
Groovy

mixin {
    add sourceSets.main, "your_mod_id.refmap.json"
}

Kotlin

mixin {
    add(sourceSets.main, "your_mod_id.refmap.json")
}

模组Toml配置(声明Mixin文件)

src/main/resources/META-INF/neoforge.mods.toml中添加Mixin声明:

[[mods]]
modId = "your_mod_id"
# 其他基础配置...

[[mixins]]
config = "geckolib.mixins.json"
# 若你的模组有自定义Mixin,补充:
# config = "your_mod_id.mixins.json"

3. 清理缓存并重新编译

缓存残留可能导致Mixin文件未正确生成:

  • 执行gradlew clean(Windows)或./gradlew clean(Linux/Mac)清理构建缓存
  • 重新运行gradlew build编译项目
  • gradlew runClient启动客户端,避免直接使用IDE旧启动配置

4. 验证refMap文件是否存在

编译后检查build/resources/main目录下是否有geckolib.refmap.json

  • 若不存在,检查构建脚本是否正确开启refMap生成,查看编译日志是否有相关错误
  • 若存在,确认文件内容中是否包含HumanoidArmorLayerMixin的方法映射

5. 临时适配(不推荐,仅应急)

如果确认是Geckolib未跟进NeoForge的方法签名变更:

  • 暂时注释掉模组中依赖Geckolib armor渲染的代码
  • 等待Geckolib发布适配MC 1.21.1的更新版本

内容的提问来源于stack exchange,提问作者Anora Peart

火山引擎 最新活动