ModularMachinery Wiki(ZH)/配方

现在,你应该已经为一台机械或多台机械设置了 物品/流体/能量 的 输入/输出 配置,现在你可以为这些机械定义配方,如果必须要输入的 物品/流体/能量 存在,并且用来输出 物品/流体/能量 的输出仓有足够空间,机械就会执行这些配方。

这个功能允许你让机械去运行的任意类型的配方。它的范围大可以是类熔炉、类发电机等再到类似于核聚变反应堆的东西,接受几种流体作为输入,并在输出仓产出另一种流体和大量能量。它还可以从流体中离心出物品,但每tick要消耗一定量的能量等等,这些定义是没有限制的。

然而,有些东西必须设置好,以便配方正常运作。让我们先看看格式,再看几个例子:

{
    //机械registryname
    //在机械的json中定义 'registryname'
    "machine": "centrifuge",
    //每一个配方都要有独一无二的注册名
    //以至于让mod可以安全地读写
    //来自NBT的配方.
    "registryName": "centrifuge_lava_generic",
    //配方用时
    "recipeTime": 20,
    //配方内容
    "requirements": [ //定义内容的数组
        {
            //输入输出成分类型
            //可用的类型有: energy, fluid, item
            "type": "energy",
            //输入输出交互类型
            //可用类型: input, output
            "io-type": "input",
            //组件中每份输入物品可以让机械输入/输出的能量(FE/Tick)
            "energyPerTick": 10
        },
        {
            "type": "item",
            "io-type": "output",
            //物品定义
            //定义生产出的物品
            //或是配方的消耗物品
            "item": "minecraft:gold_nugget",
            //定义物品/流体 消耗/生产的几率 不定义默认为100%
            "chance": 0.01
        },
        {
            "type": "item",
            "io-type": "output",
            "item": "minecraft:fire_charge",
            "chance": 0.2
        },
        {
            "type": "fluid",
            "io-type": "input",
            //定义输入消耗/输出生产的流体
            "fluid": "lava",
            //流体产出/消耗量(单位 mB 1000 mB (milliBucket) = 1 B (Bucket))
            "amount": 10,
            //几率tag也能有
            //定义流体产出/消耗几率
            "chance": 0.8
        }
}

这里定义了一个‘离心机’的配方,它运行了 20 tick - 理想情况下是 1 秒 - 运行1tick消耗 10 ‘能量’,所以完全运行完配方一共消耗 200 ‘能量’(RF,FE,......) ,消耗 10mb 的岩浆有80%的几率产出产物,且产物有1%的几率是金粒,20%的几率是火焰弹。

另外:你也可以在‘machine’中定义一个机械数组,而不是只定义单单一个机械,配方也会被添加到这些机械上。例如:

"machine": [
    "centrifuge",
    "some_other_machine",
    "another_machine"
]

Tr:垠儿