Skip to content

fix: 在开发运行环境中禁用 Mixin RefMap - #60

Open
FuBangkun wants to merge 1 commit into
RuiXuqi:mdgfrom
FuBangkun:patch-1
Open

fix: 在开发运行环境中禁用 Mixin RefMap#60
FuBangkun wants to merge 1 commit into
RuiXuqi:mdgfrom
FuBangkun:patch-1

Conversation

@FuBangkun

Copy link
Copy Markdown

问题背景

在开发环境下本地运行(runClient / runServer)时,compileJava 阶段的注解处理器会生成包含 SRG 映射的 refmap.json 并打包进编译资源。Cleanroom / CleanMix 在运行时会加载该 RefMap,导致 Mixin 误将 MCP 名称重映射为 SRG 名称(func_xxx / field_xxx),从而触发 InvalidAccessorException 异常。

解决方案

build.gradlemcpForge.runs.configureEach 配置块中添加 systemProperty 'mixin.env.disableRefMap', 'true'。这会让 Mixin 在本地调试运行时自动忽略 RefMap 映射,同时不影响生产环境打 JAR 包时正常生成 RefMap。

变更说明

  • 修改 build.gradle:在 mcpForge.runs.configureEach 内新增系统属性 systemProperty 'mixin.env.disableRefMap', 'true'

@FuBangkun

Copy link
Copy Markdown
Author

@RuiXuqi

@RuiXuqi RuiXuqi self-assigned this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants