Create Mechanical Extruder

Create Mechanical Extruder

一个机械挤出机方块。可用于从相邻的方块/流体中生成任何方块或物品。

技术

Create 机械挤出机

一个机械挤出机方块。可用于从相邻方块/流体中生成任意方块或物品。此模组旨在用于整合包中。

灵感主要来源于热力膨胀的岩浆挤出机。

专用 Wiki

1.21.1-2.x 版本需要 Mechanicals Lib

版本支持与文档

  • 1.21.1:已支持。文档基于此版本。
  • 1.20.1:仅处理关键问题
  • 1.19.x:不再支持:文档
  • 1.18.x:不再支持:文档

安山岩挤出机

  • 动力方块。
  • 配方冲突时,可通过过滤器选择输出。
  • 空手潜行+右键单击以提取内容。
  • 可通过自动化方式提取。

黄铜挤出机

  • 可消耗源方块。

挤出配方

  • 支持 JEI 集成。
  • 每个配方可自定义需求。

方块状态

方块

{
        "blocks": "minecraft:water"
},

带状态的方块

{
  "blocks": "minecraft:furnace",
  "state": {
    "lit": "true"
  }
}

输入方块状态

"blockIngredients": {
    "first": {
        "blocks": "minecraft:water"
    },
    "second": {
        "blocks": "minecraft:lava"
    }
}

催化剂方块状态

"catalyst": {
  "blocks": "minecraft:obsidian"
}

所需敲击次数(可选)

  • "requiredBonks": 10
  • 定义需要敲击的次数。

高级挤出机(黄铜)按配方(可选)

  • "advanced":"true"
  • 配方需要黄铜挤出机。

消耗方块(高级配方)

  • 高级挤出机可以消耗方块。
"consumeBlocks": {
    "first": false,
    "second": true
},

配方需求

  • MinY/MaxY
"requirements": [
    {
        "type": "mechanicals:min_y",
        "value": 0
    },
    {
        "type": "mechanicals:max_y",
        "value": 60
    }
],
  • MinSpeed/MaxSpeed
"requirements": [
    {
        "type": "mechanicals:max_speed",
        "value": 4.0
    }
],
  • 生物群系
"requirements": [
    {
        "type": "mechanicals:biome",
        "value": "minecraft:plains"
    }
],
  • 生物群系标签
"requirements": [
    {
        "type": "mechanicals:biome_tag",
        "value": "minecraft:is_nether"
    }
],

KubeJS

  • 移除所有挤出配方。
ServerEvents.recipes(event => {
  event.remove({ type: 'create_mechanical_extruder:extruding' })
})
  • 几率输出(绑定)
Output.of('minecraft:clay', 0.5)
Output.of('4xminecraft:clay', 0.5)
  • BlockPredicate(绑定)
BlockPredicate.of('minecraft:sand')
  • RecipeRequirement(绑定)
RecipeRequirement.minY(int) //例如: RecipeRequirement.minY(-10)
RecipeRequirement.maxY(int) //例如: RecipeRequirement.maxY(20)
RecipeRequirement.minSpeed(float) //例如: RecipeRequirement.minSpeed(2.0)
RecipeRequirement.maxSpeed(float) //例如: RecipeRequirement.maxSpeed(160)
RecipeRequirement.biome(string) //例如: RecipeRequirement.biome("minecraft:plains")
RecipeRequirement.maxSpeed(string)  //例如: RecipeRequirement.biome("minecraft:plains")
  • 添加配方
ServerEvents.recipes(event => {
  /** 
    create_mechanical_extruder.extruding(Output result, BlockPredicate[] inputs)
    .catalys(BlockPredicate catalyst) // 可选,默认:空
    .advanced(true) //可选,默认:false
    .consumeBlock(Couple consume) //可选,默认:空
  **/

    event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
            .catalyst('minecraft:clay')})
  • 一些示例:
//最简
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:redstone_block'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])

        //催化剂
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
            .catalyst('minecraft:clay')

        //敲击次数
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:sand'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
            .requiredBonks(10)

        //几率输出
        event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:red_sand',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])

        //几率输出 & 敲击次数
        event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:birch_planks',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
            .requiredBonks(5)

        //高级挤出机
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:obsidian'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
            .catalyst(BlockPredicate.of("minecraft:dirt"))
            .advanced(true)

        //高级挤出机 + 消耗方块
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:birch_planks'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
            .catalyst(BlockPredicate.of("minecraft:dirt"))
            .consumeBlocks(true)
            .advanced(true)

        //高级挤出机 + 消耗不同方块
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:obsidian'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
            .catalyst(BlockPredicate.of("minecraft:dirt"))
            .consumeBlocks([true,false])
            .advanced(true)

        //生物群系需求
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:iron_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
            .requirements(
                [
                    RecipeRequirement.biome("minecraft:plains")
                ]
            );

        //生物群系标签需求
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:gold_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
            .requirements(
                [
                    RecipeRequirement.biomeTag("minecraft:is_nether")
                ]
            );

        //MinY & MaxY 需求
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:coal_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
            .requirements(
                [
                    RecipeRequirement.minY(-10),
                    RecipeRequirement.maxY(12),
                ]
            );
        //MinSpeed & MaxSpeed 需求
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
            .requirements(
                [
                    RecipeRequirement.minSpeed(1.0),
                    RecipeRequirement.maxSpeed(16.0),
                ]
            );

        //所有需求组合
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:emerald_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
        .requirements(
            [
                RecipeRequirement.minSpeed(6.0),
                RecipeRequirement.maxSpeed(16.0),
                RecipeRequirement.minY(10),
                RecipeRequirement.maxY(12),
                RecipeRequirement.biomeTag("minecraft:is_nether")

            ]
        );

        //全部组合
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:emerald_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
        .catalyst(BlockPredicate.of("minecraft:dirt"))
        .advanced(true)
        .consumeBlocks(true)
        .requirements(
            [
                RecipeRequirement.minSpeed(16.0),
                RecipeRequirement.minY(10),
                RecipeRequirement.maxY(12),
                RecipeRequirement.biomeTag("minecraft:is_nether")

            ]
        );

        // 有趣的东西
        // 花盆
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:glowstone'),[BlockPredicate.of('minecraft:potted_dandelion'),BlockPredicate.of('minecraft:potted_poppy')])

感谢 Create 模组的创作者们。

代码灵感来自 Create 模组本身。