本篇教程由作者设定未经允许禁止转载。

版本:1.12.2 Forge_14.23.5.2860

在编写配方时发现这个模组的教程并不完善,所以出了这个教程

以拔刀剑”大太刀“的配方编辑来作演示:

可视化无尽配方编辑器的详细教程-第1张图片

此时点击按钮(没有反应是正常的,没做点击效果),会发现在你的版本文件夹(.minecraft\versions\1.12.2)下生成了avaritiarecipemakeroutput这个文本文档,打开它,复制新生成的内容:("null"表示无物品,可以看到上面的合成表只有一把铁剑,所以会有许多空的部分)

// 大太刀「」

recipes.remove(<flammpfeil.slashblade:slashblade>);

mods.avaritia.ExtremeCrafting.addShaped("NAMEPLACEHOLDER", <flammpfeil.slashblade:slashblade> * 1, [[null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null],[null, null, null, null, null, null, null, null, null],[null, null, null, null, null, null, null, null, null],[null, null, null, null, <minecraft:iron_sword>, null, null, null, null],[null, null, null, null, null, null, null, null, null],[null, null, null, null, null, null, null, null, null],[null, null, null, null, null, null, null, null, null],[null, null, null, null, null, null, null, null, null]]);

这里讲解一下,一个配方的开头一般是//,结尾一般是;,“recipes.remove(<flammpfeil.slashblade:slashblade>);”表示删除大太刀的原合成表,“NAMEPLACEHOLDER”是配方的占位符(可以理解为配方名),如果你打算编写多个配方,那么一定要更改引号里的内容(随便改成什么,只要不是中文就行),“<flammpfeil.slashblade:slashblade> * 1”是接下来讲解的重点,见下方,后面中括号内的内容就是配方了,不建议自己编写,麻烦且容易出错,注意一个原则:任何种类的括号、引号都必须有其对应符号,这有助于你快速排查错误。

将这些内容复制进.minecraft\versions\1.12.2\scripts下的(自己新建)zs后缀文件中,crt创建的配方都是这个后缀。

可视化无尽配方编辑器的详细教程-第2张图片

然后记得保存(ctrl+s),重启mc,发现成功了。

如果你的刀是具有NBT的,尤其妖刀,那么请先按照下列流程操作:

将刀拿在手中,输入指令“/mt hand”以查询大太刀的NBT

以斩无不断附属中的无尽星空举例,其反馈应该是这样的:

可视化无尽配方编辑器的详细教程-第3张图片

此时将鼠标移动到文字上点击会进行复制,然而复制出来却只有一小部分,这可能是由于mc的聊天存在字数限制?我推荐的方法是去logs文件夹内寻找最新的日志文件latest.log,找到最新的那个符合格式的NBT,如下:(我的文件比较久远,找不到了)

<the_golden_autumn:starslashblade>.withTag({SlashBlade: {}, onClick: 0 as byte, SummonedSwordColor: 16753664, lastActionTime: 213731 as long, killCount:888898, CustomMaxDamage: 888888888, isCharged: 0 as byte, ench: [{lvl: 100 as short, id: 34 as short},  {lvl: 100 as short, id: 16 as short}, {lvl: 100 as short, id: 48 as short}, {lvl: 100 as short, id: 21 as short},  {lvl: 100 as short, id: 51 as short}], prevExp: 0,IsManagedDamage: 0 as byte, Unbreakable: 1 as byte, ModelName: "autumn/Universe/mdl", ProudSoul: 888888888, lastPosHash: -6698, isDefaultBewitched:  1 as byte, CurrentItemName: "wjx.blade.stredgeuniverse", AttackAmplifier: 10.0 as float, TargetEntity: 0, TextureName: "autumn/Universe/tex", SpecialAttackType: 257, conboSeq: 0,HideFlags: 1, isUniverseBlade: 1 as byte, isBroken: 0 as byte, baseAttackModifier: 32768.0 as float, "SB.SEffect": {}, AttributeModifiers: [{UUIDMost: -3801225194067177672 as long, UUIDLeast: -6586624321849018929 as long, Amount: 10.0, Slot: "mainhand",  AttributeName: "generic.attackDamage", Operation: 0, Name: "Weapon modifier"}, {UUIDMost: -422425648963762075 as long, UUIDLeast: -5756800103171642205 as long, Amount: -2.4000000953674316, Slot: "mainhand", AttributeName: "generic.attackSpeed", Operation: 0, Name: "Weapon modifier"}], StandbyRenderType: 1}) *1

下面对其进行讲解,“<the_golden_autumn:starslashblade>”是物品ID,上面大太刀的“flammpfeil.slashblade:slashblade”也是如此,尖括号后的“.withTag()”部分表示这个物品需要保留NBT,括号内就是物品NBT,不推荐用其他方法复制NBT到这里面,因为会出现未知的错误。最后的“*1”就是数量,无法堆叠的物品改成≥1的数量可能会出问题(如崩溃)。

最后还必须强调的是,仅仅是无尽配方编辑器这一附属并不能做到热加载,请在改完配方后重启游戏。

如果还有什么问题的话,会在评论区进行回答,如果发现教程存在问题,请立即在评论区提出以帮助改进,谢谢。

感谢Chronomia提供的图片、配方以及整合包