跳到正文

Create Mechanical Extruder

作者:oierbravo

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

收藏

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Create Mechanical Extruder

一个机械挤出机方块。可用于从相邻的方块/流体中生成任意方块或物品。
本模组旨在用于整合包中。仅包含非常基础的配方。

深受热力膨胀的熔岩炉启发。

专用 Wiki

1.21.1-2.x 版本需要 Mechanicals Lib

版本支持与文档

  • 1.21.1:支持。文档以此版本为准。
  • 1.20.1:仅修复严重问题
  • 1.19.x:不支持:文档
  • 1.18.x:不支持:文档

安山挤出机

  • 动力方块。
  • 当配方冲突时,可通过过滤器功能选择输出。
  • 空手 Shift+右键点击可取出内容物。
  • 可通过自动化取出。

黄铜挤出机

  • 可消耗源方块。

挤出配方

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

BlockState

方块

{
        "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')})
  • 一些示例:
//Minimal
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:redstone_block'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])

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

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

        //Chanced output
        event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:red_sand',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])

        //Chanced output & bonks
        event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:birch_planks',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
            .requiredBonks(5)

        //Advanced extruder
    	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)

    	//Advanced extruder + consume blocks
        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)

        //Advanced extruder + consume different blocks
        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)

        //Biome requirement
        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")
                ]
            );

        //Biome Tag requirement
        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 requirement
        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 requirement
        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),
                ]
            );

        //All requirements together
    	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")

    	    ]
    	);

        //Everything together
        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")

    	    ]
    	);

    	// Funny things
    	// Flower pots
        event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:glowstone'),[BlockPredicate.of('minecraft:potted_dandelion'),BlockPredicate.of('minecraft:potted_poppy')])

感谢机械动力的创作者们。

代码灵感来源于 Create 模组本身。

常见问题

Create Mechanical Extruder 支持哪些 Minecraft 版本?

Create Mechanical Extruder 支持 Minecraft Java 版 1.18.2–1.21.1,共 4 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

Create Mechanical Extruder 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

oierbravo 的其他作品

查看全部 →