一台成型的模块化机器分为两个部分,模型部分和配方部分,先来说模型部分
一.模型部分
首先,我们在存档内搭建模型
模型的方块可以随意,但一定要包含一个机械控制器
搭建完后,拿着建造选择工具右键机器的每个方块(如果你懒得一个个点,也可以使用范围建造选择工具来快速选择)
选择完方块后,拿着建造选择工具Shift右键机械控制器,然后你会看见系统提示
来到.minecraft\config\modularmachinery\machinery目录下,就可以看见刚才保存的机器模型
用打开此json文件(这里示例用的VScode,也可以用其他软件,实在不行就用记事本)
接下来,我们需要添加一些东西,在"parts"前分别添加上"registryname": "机器注册名","localizedname": "机器在游戏里显示的名字","requires_blueprint": 是否需要蓝图,true为需要,false为不需要,"color":"颜色代码",
使他变为类似这样的
(这边还可以添加一个"failure-action":"reset/still/decrease",当机器工作时,停止输入能量,配方进度的变化
still是保持进度,reset是清空进度,decrease是缓慢倒退,默认为still)
json代码如下
"registryname": "114514",
"localizedname": "野兽机",
"requires-blueprint": false,
"color": "000000",
"parts": [
然后,我们需要删除机器的方块nbt信息
将这一整行删掉,可以同时按下Ctrl+F3,来快速寻找nbt
保存修改后的json文件
二.配方部分(有两种方法,这里只讲Crafttweaker创建配方)
我们来到.minecraft\scripts目录下,创建一个新文本文档,把后缀改为.zs
我们打开这个文档,先导入包
import mods.modularmachinery.RecipeBuilder;
import mods.modularmachinery.RecipePrimer;
再写下代码
RecipeBuilder.newBuilder(配方名,机器注册名(即第一部分提到的"registryname"),工作所需时间单位tick);
这时候看起来是这样的
这时候我们再加上输入与输出
.addEnergyPerTickInput(每tick能量输入)
.addEnergyPerTickOutput(每tick能量输出)
.addItemInput(物品输入)
.addItemOutput(物品输出)
.addFluidInput(流体输入)
.addFluidOutput(流体输出)
我们还可以在输入输出后面加上.setChance(浮点数,填1.1就是有1.1%的概率消耗/产出);,以此来控制物品消耗/输出几率
然后再加上.build();
到此,一个独一无二的模块化机械就完成了