本篇教程由作者设定使用 CC BY-NC 协议。

1.准备工作

要想写合成表,首先你得创建一个.json结尾的文件(可以先创建文本文档再把文件后缀改成.json),编写软件推荐使用VS Code,当然也可以使用记事本寄逝本写,只不过不能像VS Code那样容易排查错误

以下是一把刀的合成表模板:

如何在拔刀剑中为自己喜欢的刀编写合成表-第1张图片

可能光从图片上看有点繁琐,别急,接下来将详细讲解各部分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)里为你的刀命名