本人也是初学者,如有错误请指正,本教程适用于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了,开始你的魔改之旅吧