本篇教程由作者设定使用 CC BY-NC 协议。
1.准备工作
要想写合成表,首先你得创建一个.json结尾的文件(可以先创建文本文档再把文件后缀改成.json),编写软件推荐使用VS Code,当然也可以使用记事本寄逝本写,只不过不能像VS Code那样容易排查错误
以下是一把刀的合成表模板:
可能光从图片上看有点繁琐,别急,接下来将详细讲解各部分json数据所代表的含义
2.开始编写
比如我现在想写《千恋万花》中一把名为 幼刀「丛雨丸」的刀的合成表
{
"type":"slashblade:shaped_blade", ←是否有序合成
"blade":"slashblade:murasamemaru", ←为合成后的刀名,注意不要有大写
"category": "equipment", ←该物品所属的类别
"key":{ ←合成表中的材料标识
"D":{ ←指代某个物品的符号
"type": "slashblade:blade",
"item": "slashblade:slashblade", ←为合成的前置刀
"request":{ ←前置刀的条件
"enchantments": [ ←前置刀要求的附魔,若不需要可以删掉不写
{
"id": "minecraft:looting", ←附魔的种类
"lvl":3 ←附魔等级
}
],
"kill": 1313, ←杀敌数要求
"name": "slashblade:sabigatana", ←指定该用哪把刀作为前置刀,若删掉不写则默认无名(这里用的是锈刀)
"proud_soul": 10721, ←耀魂值要求
"refine": 17 ←强化等级要求,注意不要与RepairCounter弄混了
}
},
"B":{
"item":"slashblade:proudsoul" ←合成所需的副材料
},
"E":{
"item":"minecraft:emerald_block" ←合成所需的副材料
}
},
"pattern":[ ←定义了合成表的材料该怎么摆放
"EBE",
"BDB",
"EBE"
],
"result": { ←合成结果
"item": "slashblade:slashblade" ←合成后的产物,若先前blade未指定哪把刀则默认合成无名
},
"show_notification": true ←是否隐藏配方
}
3.注意事项
·写完后的文件格式必须为.json,文件存放路径为(data\slashblade\recipes),不要放错了
·在写合成表之前,请确认是否有对应刀的数据(.json)、贴图(.png)、模型文件(.obj)
·模组内很多刀的本质其实都是不同NBT数据的无名,如果进入游戏内发现合成表中前置刀或合成的产物为不对,请检查代码是否有误
·如果想要写合成后的刀该带什么附魔,可以去(data/slashblade/slashblade/named_blades)找到对应刀的文件进行修改
·最后不要忘了去(assets\slashblade\lang\zh_cn)里为你的刀命名