Skip to content

fix: 创造模式破坏紧凑机器时保留带数据的掉落物 - #56

Merged
Yang120231 merged 1 commit into
SorrowMist:1.21from
Yang120231:codex/fix-compact-creative-drops
Oct 26, 2026
Merged

Yang120231 merged 1 commit into
SorrowMist:1.21from
Yang120231:codex/fix-compact-creative-drops

Conversation

@Yang120231

Copy link
Copy Markdown
Collaborator

创造模式直接破坏紧凑 C9、F9、L9 时,原版流程会跳过正常采集掉落,机器本体及其携带的数据因此无法取回。现在三种紧凑机器都会在服务端创造模式破坏时生成原有的机器掉落物。

  • 在方块实体和集群拆除前调用 Block.dropResources,传入原方块实体及玩家,继续沿用 AE2/ECO 的设置导出、L9 无限存储域保存和 F9 外置样板引用逻辑。
  • 仅对服务端创造模式补充掉落,生存模式仍走原有采集流程;内容物仍由现有拆除流程处理,保持原有掉落规则。
  • 新增 3 项回归测试,覆盖原方块实体传递、生存模式不额外掉落、客户端不读取或生成掉落。

验证:./gradlew.bat test --tests '*CompactMachineDropsTest' build --console=plain 通过;3 项测试全部通过;已检查构建 JAR 包含三种机器和共享掉落类。未进行游戏内实测。

为紧凑 C9、F9、L9 补充创造模式破坏入口,在方块实体和集群拆除前调用原有掉落链路,保留机器设置、L9 无限存储域和 F9 外置样板引用。

共享逻辑仅在服务端创造模式执行,避免客户端重复生成及生存模式额外掉落;继续沿用现有掉落规则和内容物拆除逻辑。

新增三项回归测试,验证传递原方块实体、正常采集不重复掉落、客户端不读取或生成掉落。定向测试、完整源码编译及 JAR 构建通过,未进行游戏内实测。
@Yang120231
Yang120231 merged commit 0d8a75b into SorrowMist:1.21 Oct 26, 2026
1 check passed
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.

1 participant