一台成型的模块化机器分为两个部分,模型部分和配方部分,先来说模型部分

一.模型部分

首先,我们在存档内搭建模型

模型的方块可以随意,但一定要包含一个机械控制器

从零开始的模块化机械-第1张图片搭建完后,拿着建造选择工具右键机器的每个方块(如果你懒得一个个点,也可以使用范围建造选择工具来快速选择)

选择完方块后,拿着建造选择工具Shift右键机械控制器,然后你会看见系统提示

从零开始的模块化机械-第2张图片

来到.minecraft\config\modularmachinery\machinery目录下,就可以看见刚才保存的机器模型从零开始的模块化机械-第3张图片

用打开此json文件(这里示例用的VScode,也可以用其他软件,实在不行就用记事本)

从零开始的模块化机械-第4张图片接下来,我们需要添加一些东西,在"parts"前分别添加上"registryname": "机器注册名","localizedname": "机器在游戏里显示的名字","requires_blueprint": 是否需要蓝图,true为需要,false为不需要,"color":"颜色代码",

使他变为类似这样的从零开始的模块化机械-第5张图片


(这边还可以添加一个"failure-action":"reset/still/decrease",当机器工作时,停止输入能量,配方进度的变化

still是保持进度,reset是清空进度,decrease是缓慢倒退,默认为still)

json代码如下

    "registryname": "114514",
    "localizedname": "野兽机",
    "requires-blueprint": false,
    "color": "000000",
    "parts": [

然后,我们需要删除机器的方块nbt信息从零开始的模块化机械-第6张图片

将这一整行删掉,可以同时按下Ctrl+F3,来快速寻找nbt

保存修改后的json文件

二.配方部分(有两种方法,这里只讲Crafttweaker创建配方)

我们来到.minecraft\scripts目录下,创建一个新文本文档,把后缀改为.zs

我们打开这个文档,先导入包

import mods.modularmachinery.RecipeBuilder;
import mods.modularmachinery.RecipePrimer;

再写下代码

RecipeBuilder.newBuilder(配方名,机器注册名(即第一部分提到的"registryname"),工作所需时间单位tick);

这时候看起来是这样的

从零开始的模块化机械-第7张图片

这时候我们再加上输入与输出

.addEnergyPerTickInput(每tick能量输入)
.addEnergyPerTickOutput(每tick能量输出)
.addItemInput(物品输入)
.addItemOutput(物品输出)
.addFluidInput(流体输入)
.addFluidOutput(流体输出)

我们还可以在输入输出后面加上.setChance(浮点数,填1.1就是有1.1%的概率消耗/产出);,以此来控制物品消耗/输出几率

然后再加上.build();从零开始的模块化机械-第8张图片

到此,一个独一无二的模块化机械就完成了