跳转至

配方创建

将配方添加到配方类型(id = mbd2:blender)。

// 服务端脚本
ServerEvents.recipes((event) => {
    // 在此处添加配方
    event.recipes.mbd2.blender()
        // recipe id 是可选的,但我们建议设置一个唯一的 id
        .id("mbd2:recipe_id")
        // 持续时间,单位为 tick
        .duration(400)
        // 优先级越高越先被处理
        .priority(-1)
        // 将此配方标记为燃料配方
        .isFuel(true)
        // 物品
        .inputItems("minecraft:apple", "4x minecraft:oak_log")
        .outputItems("4x minecraft:apple")
        // 物品耐久度
        .inputItemsDurability("16x flint_and_steel") // 16x 指耐久度数值
        .outputItemsDurability("16x flint_and_steel") // 16x 指耐久度数值
        // 流体
        .inputFluids("water 1000")
        .outputFluids("lava 2000")
        // 实体
        .inputEntities("4x minecraft:pig")
        .outputEntities("4x minecraft:pig")
        // Forge Energy
        .inputFE(1000)
        .outputFE(2000)
        // Create 应力
        .inputStress(1024)
        .outputStress(2048)
        .inputRPM(4)
        .outputRPM(4)
        // Botania 魔力
        .inputMana(100)
        .outputMana(200)
        // Nature's Aura 灵气
        .inputAura(50)
        .outputAura(50)
        // Mek 热量
        .inputHeat(100)
        .outputHeat(200)
        // GTM EU
        .inputEU(100)
        .outputEU(200)
        // Mek 化学品
        .inputGases("100x mekanism:hydrogen")
        .outputGases("200x mekanism:oxygen")
            // .inputInfusions(...)
            // .outputInfusions(...)
            // .inputSlurries(...)
            // .outputSlurries(...)
            // .inputPigments(...)
            // .outputPigments(...)
        // Embers 余烬
        .inputEmber(256)
        .outputEmber(256)
        // PNC 压力 / 空气
        .inputPNCPressure(10)
        .outputPNCPressure(10)
        .inputPNCAir(40)
        .outputPNCAir(40)
        // PNC 热量
        .inputPNCHeat(100)
        .outputPNCHeat(200)
        // 每 tick(每 tick 消耗 / 生成)
        .perTick(builder => builder
            .inputFluids("10x lava")
        )
        // 概率
        .chance(0.5, builder => builder
            .inputFluids("10x lava")
        )
        // 等级概率加成(最终概率 = 概率 + tierChanceBoost * machineLevel)
        .tierChanceBoost(0.1, builder => builder
            .inputFluids("10x lava")
        )
        // 槽位名称(原料只能从指定的槽位名称(trait 名称)中被消耗 / 填充)
        .slotName("input_tank", builder => builder
            .inputFluids("10x lava")
        )
        // UI 名称(原料通过给定的 UI 名称在 XEI 配方 UI 中显示(widget id))
        .uiName("input_tank", builder => builder
            .inputFluids("10x lava")
        )
        // 内置条件
        .dimension("minecraft:overworld") // 维度 id
        .biome("minecraft:plains") // 生物群系 id
        .machineLevel(2) // 最低机器等级
        .positionY(-10, 64) // 最小 y,最大 y
        .raining(0.5, 1) // 最小等级,最大等级
        .thundering(0.5, 1) // 最小等级,最大等级
        .blocksInStructure(0, 100, "minecraft:stone") // 最小数量,最大数量,方块
        .dayTime(true) // 是否为白天
        .light(0, 15, 0, 15, true) // 最小天空光照,最大天空光照,最小方块光照,最大方块光照,能否看到天空
        .redstoneSignal(7, 15) // 最小信号,最大信号
        // 模组条件
        .rotationCondition(4, 16, 256, 1024) // 最小 RPM,最大 RPM,最小应力,最大应力
        .mekTemperatureCondition(0, 250) // 最低温度,最高温度
        .pncTemperatureCondition(0, 256) // 最低温度,最高温度
        .pncPressureCondition(false, 10, 16) // 是否为空气,最小值(空气 / 压力),最大值(空气 / 压力)
        // 自定义数据
        .addData("key", '{"temperature": 32}')
        .addDataString("key", "value")
        .addDataNumber("key", 32)
        .addDataBoolean("key", true)
})

更多 API 和详情可在此处查看:MBDRecipeSchema