Skip to content

[Bug] 生产环境 feedBeardifier 反射失败(NoSuchFieldException: pieceIterator)→ 结构地形塑形静默缺失 #25

Description

@unknowbug

问题类型

世界生成错误(错误的地形 / 结构 / 生物群系)—— 本帖为跟踪 issue(问题来自其他渠道反馈 + 维护侧日志分析)

问题描述

安装 CoreSwap 后(Fabric 生产环境),CppBridge.feedBeardifier 对每个含结构的 chunk 反射失败,日志高频刷 java.lang.NoSuchFieldException: pieceIterator(配合 Chunky 预生成时 4032 次)。不只刷屏:结构地形塑形数据因此从未送达 C++ 侧,生产环境下结构底部 BEARD 塑形整体静默缺失。

复现步骤

  1. Fabric + coreswap-1.20.1-1.0.24(生产映射环境)
  2. 进入/预生成含结构的区块
  3. 观察 latest.log[CppBridge] feedBeardifier failed chunk(x,y): java.lang.NoSuchFieldException: pieceIterator
  4. 用 Chunky 大规模预生成可放大刷屏(详见完整日志,报告中出现 4032 次)

世界种子(Seed)

-5482617955539353316(报告者日志;问题与种子无关,生产环境必现)

坐标 / 维度

任意含结构的区块,主世界

预期行为

Beardifier 的结构 piece 信息正常喂给 C++ worldgen,结构底部地形塑形与原版一致;无失败日志刷屏。

实际行为

每个含结构 chunk 抛 NoSuchFieldException: pieceIterator(catch 降级不阻断),C++ setBeardifier 永远收不到数据。

CoreSwap 版本

coreswap-1.20.1-1.0.24

加载方式

Fabric(原生安装)

加载器版本

Fabric Loader 0.19.3 + fabric-api 0.92.11+1.20.1(Chunky 1.3.146 为放大器,非成因)

已安装的其他 mod

chunky 1.3.146(仅放大出现频率;裸 CoreSwap 正常游玩同样触发)

错误日志

[CppBridge] feedBeardifier failed chunk(1,1): java.lang.NoSuchFieldException: pieceIterator
(重复 4032 次,完整日志:https://mclo.gs/AzKJLVC)

影响面

  • 影响:所有 Fabric 生产环境玩家(结构底部地形塑形静默缺失 + 日志刷屏)
  • 严重度:高(世界生成正确性)
  • 频率:必现(每个含结构 chunk)

根因分析(维护侧)

  • CppBridge.java:157-158 用裸字符串 getDeclaredField("pieceIterator"/"junctionIterator") 反射;Fabric 构建期不重映射反射字面量,生产环境(intermediary)实际字段名为 field_28744/field_28745,必抛
  • CppBridge.java:196-198 catch 无条件降级 + 无节流
  • 同函数 :164-185getMethod("box"/"getMinX"/...) 同样未映射,只修字段会在含 piece 的 chunk 上换成 NoSuchMethodException,须连带修

修复方向(维护侧)

双名解析(Fabric MappingResolver,fallback Yarn 名)+ 解析结果 static 缓存 + 失败日志节流;顺带排查同类裸反射(如 NoiseChunkGeneratorMixinbiomeSource)。

检查清单

  • 已搜索 Issue 列表,未发现重复报告
  • 已排除其他 mod 冲突(Chunky 仅放大频率,裸装亦复现)
  • 针对本体
  • (可选)愿意提交 PR

— 本帖由 AI triage assistant 协助整理,人工维护者会最终确认。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:worldgen世界生成:地形/结构/生物群系bugSomething isn't workingtriage:ackedAI 分诊:信息齐全,待人工确认triage:fixed已修复,待发版验证与报告者复测

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions