Fabric模组加载合成配方时触发JsonParseException错误求助
Fabric模组配方加载错误解决办法
错误分析
核心报错信息如下:
com.google.gson.JsonParseException: No key id in MapLike[{"item":"ingamesoundboard:uwu_sound"}]
这个错误和配方文件格式无关,问题出在物品注册逻辑上——游戏无法找到ingamesoundboard:uwu_sound对应的有效物品ID,本质是该物品没有完成正确的注册流程。
你的配方文件本身格式合规:
{ "type": "minecraft:crafting_shaped", "pattern": [ "/ ", " ", "PDP" ], "key": { "/": { "item": "minecraft:stick" }, "P": { "tag": "minecraft:planks" }, "D": { "item": "minecraft:diamond" } }, "result": { "item": "ingamesoundboard:uwu_sound" } }
修复步骤
检查物品注册代码
确保注册物品时使用正确的命名空间与ID,示例代码:// 在物品注册类中执行注册逻辑 public static final Item UWU_SOUND = Registry.register(Registry.ITEM, new Identifier("ingamesoundboard", "uwu_sound"), new Item(new Item.Settings()));若使用了自定义物品类,不要错误覆盖序列化逻辑,保证继承的默认序列化器能正确处理ID字段。
验证物品注册状态
启动游戏后,在控制台日志中搜索ingamesoundboard:uwu_sound,确认存在类似[Server/INFO] Registered item ingamesoundboard:uwu_sound的成功注册日志。排查数据生成工具(若使用)
如果你用Fabric Data Generator生成物品相关数据,检查生成器配置,确保输出的JSON文件包含正确的ID关联,没有遗漏必要字段。
内容的提问来源于stack exchange,提问作者Ccode
相关产品推荐
相关产品推荐

