Add some Liquid Enchantment recipes and fix crashing 添加液态魔咒配方并修复崩溃 - #4353
Add some Liquid Enchantment recipes and fix crashing 添加液态魔咒配方并修复崩溃#4353QiuShui1012 wants to merge 4 commits into
Conversation
|
分析完成。所有关键文件已审查,CI(build + checkstyle)均通过。以下为审查意见: 代码审查摘要 — PR #4353操作: opened 📋 声称验证表
🔴 关键未发现阻断性问题(编译、checkstyle、生成数据一致性均通过)。
|
| 被测目标 | 推荐测试场景 | 优先级 |
|---|---|---|
HasCauldron / HasCauldronSimple codec |
JSON + stream codec 往返:单 transform、多 transform、tag 流体、component 谓词、negate、ANY/EMPTY | 🔴 |
applyFluidPredicate |
多输出配方:空罐不足、目标罐已有同附魔流体(合并)、consume 后剩余 | 🔴 |
| 水泥染色 / exp_fluid_cauldron | 部分填充(<1000mb)大锅行为——回归验证点 | 🔴 |
LIQUID_ENCHANTMENT 组件 |
序列化往返、未知附魔 key 回退为空白 | 🟡 |
LiquidEnchantmentUtil.getEnchantment |
客户端/服务端 resolveLookup null 安全性 | 🟡 |
结论: COMMENT — 核心重构质量高,#4346 崩溃修复方案正确,#4340 配方完整落地,CI 全绿。主要需作者确认两点:① 染色/转换配方"部分填充不再工作"是否为有意行为变化;② 附魔配方在块级炼药锅上丢失附魔的边角路径是否需要防护。无阻断性缺陷,确认后可合并。
由 Hermes Agent 审查
|
💾 Self-improvement review: Patched SKILL.md in skill 'minecraft-modding' (1 replacement). |
|
分析完成。所有关键路径(谓词语义、多重否定反转、编译一致性、JSON 格式迁移)都已核对。以下是审查意见: 代码审查摘要 — PR #4353操作: synchronize/edited (webhook) 概览这是 🔴 关键未发现编译错误或明确的逻辑错误。
|
| 声称 | 状态 | 对应文件 |
|---|---|---|
| 新增液态魔咒配方 (resolved #4340) | ✅ | SolidLiquidRecipeLoader, 9 个新 solid_liquid JSON + 9 个 advancement |
| 修复崩溃 (fixed #4346) | ✅ | ModComponents(LIQUID_ENCHANTMENT→ResourceKey), LiquidEnchantmentUtil, TranscendenceGrindstoneMenu, Jade 版本升级 |
| 重构 HasCauldron 逻辑 | ✅ | HasCauldron, HasCauldronSimple, FluidStackPredicate, DataComponentPredicate, ICauldron |
| 修改液态魔咒渲染颜色 | ✅ | LiquidEnchantmentClientFluidTypeExtension (soft-light/overlay 混色) |
🧪 测试建议
| 被测目标 | 推荐测试场景 | 优先级 |
|---|---|---|
HasCauldron.test() |
满/半/空锅 × 消耗/转换组合;空锅谓词({"amount":0});多输出配方落在普通锅上被否决 |
🔴 |
LargeCauldronBlockEntity.applyFluidPredicate |
多输出配方在已有同种流体罐上的合并、容量溢出拒绝 | 🔴 |
FluidStackPredicate.test() |
negate 与 fluids/components/amount 各组合的真值表 | 🟡 |
SolidLiquidRecipeLoader 生成配方 |
每种液态魔咒 consume==Σtransform、整除性 | 🟡 |
| 序列化往返 | HasCauldronSimple/HasCauldron codec ↔ stream codec 一致;旧存档 liquid_enchantment 组件解码 |
🟡 |
LiquidEnchantmentClientFluidTypeExtension |
普通/附魔/诅咒三类流体的混色输出值 | 🟢 |
结论: COMMENT(有条件通过) — 核心重构质量高、一致性强,未发现阻断性问题。建议处理
由 Hermes Agent 审查(webhook 自动发布)
|
分析完成。所有 38 个 Java 文件与 62 个生成资源已审查,并与 merge-base 代码审查摘要 — PR #4353操作: synchronize 变更概览
🔴 关键问题无阻断性问题。所有逻辑反转(
|
| 声称 | 状态 | 对应文件 |
|---|---|---|
| resolved #4340(液态魔咒配方) | ✅ | 10 个新 solid_liquid/*.json + advancements + SolidLiquidRecipeLoader.liquidEnchantment() |
| fixed #4346(崩溃) | ✅ | ModComponents.LIQUID_ENCHANTMENT(Holder→ResourceKey)、LiquidEnchantmentUtil、TranscendenceGrindstoneMenu、JEI 工具 |
| 重构 HasCauldron | ✅ | HasCauldron、HasCauldronSimple、FluidStackPredicate、DataComponentPredicate、ICauldron + 34 个调用方同步 |
结论: APPROVE(附警告 1、2 请确认)
🧪 测试建议
| 被测目标 | 推荐测试场景 | 优先级 |
|---|---|---|
HasCauldron.applyFluidPredicate |
多输出(fortune_and_looting):空槽不足、同流体合并、部分填充水泥染色(<1000mb 应拒绝) | 🔴 |
SolidLiquidRecipeLoader.liquidEnchantment |
生成 JSON 与 codec 往返解析;空白 LE 输入谓词(! patch)匹配/不匹配 |
🔴 |
LiquidEnchantmentUtil.getEnchantment |
无注册表上下文(null lookup)时行为 | 🟡 |
LargeCauldronBlockEntity RecipePass 反转 |
压缩/非压缩配方在 ALL/NON_COMPRESSION/COMPRESSION_ONLY 三态下的过滤等价性 | 🟡 |
TranscendenceGrindstoneMenu |
data.enchantment().getKey() 为 null(未注册魔咒)时组件处理 |
🟢 |
由 Hermes Agent 审查(未运行 gradle 编译验证,基于 diff 静态分析 + merge-base/PR head/目标分支三方交叉核对)
|
💾 Self-improvement review: Patched SKILL.md in skill 'minecraft-mod-pr-review' (1 replacement). |
1 similar comment
|
💾 Self-improvement review: Patched SKILL.md in skill 'minecraft-mod-pr-review' (1 replacement). |
HasCauldron的部分逻辑