CraftTweaker1.20入门教程——工作台配方修改
爱思博士
2023年11月06日 08:45

本人也是初学者,如有错误请指正,本教程适用于1.20.1,不一定适用于其他版本(1.16.5及以下肯定不适用,请看其他人的1.16.5版本教程)

crafttweaker是用于魔改的mod,通过游戏路径/scripts文件夹内的脚本实现修改配方等功能

本教程只讲操作方法,不讲解原理,因为我也不会,但是想要精通,最好是要知道原理的

===============================================================

开始魔改之前,需要先在游戏路径/scripts内创建至少一个文本文档,并将后缀的txt修改为zs,作为脚本(也可以在scripts文件夹内再创建文件夹,再在里面放脚本,可以用多个文件夹以便分类管理)

另外还需要一款适合写代码的软件,我推荐使用VScode

==============================================================

删除工作台配方:

打开脚本文档,在第一行输入craftingTable.remove();

【注意文档内标点符号要使用英文的,不然会报错,vscode里也会标识出来】

【注意是remove而不是removeRecipe,后者是低版本的语法】

然后在游戏内拿着想要删除工作台配方的物品,输入指令/ct hand

你会看到左下角一串信息,是关于物品和其方块、tag的信息,而物品信息会自动进入你的剪贴板,可以直接黏贴

打开脚本文档,在()内粘贴你获得的信息

craftingTable.remove(<item:minecraft:iron_block>);

比如手持的铁块,那么复制进去应该是这样

然后Ctrl+s快捷键保存文档,进入游戏里输入指令/reload,加载脚本

左下角显示CraftTweaker重载完成,没有报错就没问题了,在jei里查看物品配方,可以看到物品配方消失了

【如果有报错请检查脚本中是不是漏了什么,比如说漏敲了;符号】

==============================================================

增加工作台无序合成配方

【无序合成就是没有摆放顺序要求的配方,与之相反的是有序配方,需要按配方的位置来摆放物品才能合成,如果配方是9个物品,那么建议用无序配方写,因为看起来一样而且可以少写好几个括号】

在脚本里输入

craftingTable.addShapeless("配方名",合成产物,[

合成材料

]);

【也可以不打回车,是否分行不影响脚本,只影响看着方不方便】

先写一个配方名,可以乱打也可以用物品名字或者打拼音,但是不可以用中文

然后打开游戏,将配方合成产物拿在手里,输入/ct hand获取物品信息

【如果要合成一次产出多个物品的话要在合成产物后面加*数量】

比如我要合成5个铁块,则是

craftingTable.addShapeless("配方名",<item:minecraft:iron_block>*5,[

合成材料

]);

配方名和合成产物都写了,接下来写合成材料

先在游戏里拿出需要的材料放在快捷栏里,然后一个一个黏贴至合成材料处,两个材料之间要打,进行分隔

比如我使用的材料是1个生鳕鱼和1个金块,那么代码应该是

craftingTable.addShapeless("配方名",<item:minecraft:iron_block>*5,[

<item:minecraft:cod>,<item:minecraft:gold_block>

]);

然后运行,如果没有报错就能看到配方成功加载了

==============================================================

增加工作台有序合成配方(3*3)

首先在脚本内输入

craftingTable.addShaped("配方名",配方产物,[

[第一行],

[第二行],

[第三行]

]);

配方名和配方产物和无序配方写法一样,但可以看到不同的是有材料中有3对括号对应了合成表的三行

这里用原版的钻石斧的合成配方举例,

钻石斧的第一行是【钻石,钻石,空气】

钻石斧的第二行是【钻石,木棍,空气】

钻石斧的第一行是【空气,木棍,空气】

然后我们在游戏里拿出钻石和木棍,将钻石和木棍的信息填入脚本里

craftingTable.addShaped("配方名",<item:minecraft:diamond_axe>,[

[<item:minecraft:diamond>,<item:minecraft:diamond>,空气],

[<item:minecraft:diamond>,<item:minecraft:stick>空气,]

[空气,<item:minecraft:stick>,空气]

]);

可以看到还差空气的信息没有填入脚本,手上不拿东西输入/ct hand,就能获得空气的信息即<item:minecraft:air>

然后将空气填入,得到脚本

craftingTable.addShaped("配方名",<item:minecraft:diamond_axe>,[

[<item:minecraft:diamond>,<item:minecraft:diamond>,<item:minecraft:air>],

[<item:minecraft:diamond>,<item:minecraft:stick>,<item:minecraft:air>],

[<item:minecraft:air>,<item:minecraft:stick>,<item:minecraft:air>]

]);

然后保存,输入/reload重载,可以看到钻石斧有了第二个一样的配方,但鼠标移过去可以看到是由crafttweaker添加的

【其实这个配方里每行最后一个空气并不是必须填写的,每一行的最后几格如果是空气可以不填】

==============================================================

增加工作台有序合成配方(非3*3)

这里用花盆的合成配方举例

花盆的合成配方是

【砖,空气,砖】

【空气,砖,空气】

在脚本中输入

craftingTable.addShaped("配方名",配方产物,[

[第一行],

[第二行]

]);

【这里因为花盆合成配方只有2行,所以去掉第3行,同时去掉第二行后面的,符号】

然后如3*3配方一样,将配方名,配方产物,材料填入,即

craftingTable.addShaped("配方名",<item:minecraft:flower_pot>,[

[<item:minecraft:brick>,<item:minecraft:air>,<item:minecraft:brick>],

[<item:minecraft:air>,<item:minecraft:brick>,<item:minecraft:air>]

]);

然后/reload,可以看到花盆的配方也成功载入了

==============================================================

恭喜你已经入门CraftTweaker了,开始你的魔改之旅吧