Repository navigation
v0.4.1 — 从 jar 到机器人能用
modsmith v0.4.1
把 Fabric 模组 jar 变成 mineflayer 机器人能用的语义清单 + 实测数字 id。
这一版能做什么
L1 —— 单个 mod 接入:inspect 提取方块/物品/配方/中文名,calibrate 上服务器量出 1.21.1 的静态注册表数字 id(带服务器 mods 指纹,换过 jar 就拒绝复用),verify 做合成冒烟。农夫乐事 3.3.6 在生产环境跑着。
L2 —— 换一个 mod 只要几条命令:recipes --discover 用配方名切段反推自定义序列化器文法,不需要 javap、不需要逐字节试。
- 暮色森林 4.8.629 实测:2134 条配方全解析、17 个自定义序列化器、40 秒出表
- 每个类型带出现次数、命中物品、首条样例值,以及线上同形的备选(
i32/f32、ingredient/list[slot]这类语义拆分由人对配方 JSON 拍板) --accept采纳入正式 sidesheet;名字从清单里的配方type字段反填- 名字清单不完整也能解(严格拟合优先,弱候选 + 整包校验换备选)
L3 —— 机器人真的能玩:
learn --infer:从清单证据推工作站,不需要模型。自定义配方类型 + 显式tool字段 + 方块名词干匹配 →two-step-use/sidecar-recipe/place-and-waitprobe --scan-blocks:把候选方块逐个右键一遍,记录开不开窗。实测到自定义界面就必须走侧车(原版客户端开不了私有菜单)verify --stations:真做一遍。侧车型发命令、两步式真放料换工具右键;多原料逐个放- 侧车熟成任务持久化到
<world>/modsmith-sidecar-jobs.json,断线退回挂起、重启恢复、玩家回来接着算
农夫乐事端到端实测:
✓ cooking_pot:farmersdelight:cooking/mushroom_stew(2 种料)→ mushroom_stew
✓ cutting_board(两步,4 种料):leather ×4 + shears → leather
onboard 现在是七步一条龙:inspect → calibrate → probe(+扫描) → recipes → learn(+证据) → verify(+站点) → sidecar。
已知限制
- 只支持 Fabric(Forge/NeoForge 的 FML 握手是另一套协议)
- 单个方块只能配置一种
recipeType learn的 LLM 路径(非--infer)本版未复验;规则路径已覆盖 FD/TF- 两步式站点只在农夫乐事砧板上实测过
- 0.x 期间 manifest / sidesheet 格式可能破坏性变更
验证
121 个测试全绿(npm test,不连服务器);暮色森林与农夫乐事均在真服务器上实测。