HomeJavaModsCreate Mechanical Extruder
Create Mechanical Extruder
ModsJava

Create Mechanical Extruder

by oierbravo · on CurseForge

A mechanical extruder block. Can be used to generate any block or item from adjacent blocks/fluids. Free Minecraft Java mod for 1.21.1, 1.20.1, 1.18.2.

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.1 · NeoForge⬇ Download for 1.20.1 · NeoForge⬇ Download for 1.20.1 · Forge⬇ Download for 1.19.2 · Forge⬇ Download for 1.18.2 · Forge
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

Create Mechanical Extruder

A mechanical extruder block. Can be used to generate any block or item from adjacent blocks/fluids. This mod it's meant to be used in modpacks.

Heavily inspired on Thermal Expansions Igneous Extruder.

Dedicated wiki

1.21.1-2.x Version Requires Mechanicals Lib

Version support & documentation

Andesite Extruder

Brass Extruder

Extruding recipes

BlockState

Block

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

Block with State

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

Input BlockStates

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

Catalyst BlockStates

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

Required bonks (optional)

Advanced extruder (brass) per recipe (optional)

Consume blocks (advanced recipe)

"consumeBlocks": {
    "first": false,
    "second": true
},

Recipe Requirements

"requirements": [
    {
        "type": "mechanicals:min_y",
        "value": 0
    },
    {
        "type": "mechanicals:max_y",
        "value": 60
    }
],
"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.of('minecraft:sand')
RecipeRequirement.minY(int) //ex: RecipeRequirement.minY(-10)
RecipeRequirement.maxY(int) //ex: RecipeRequirement.maxY(20)
RecipeRequirement.minSpeed(float) //ex: RecipeRequirement.minSpeed(2.0)
RecipeRequirement.maxSpeed(float) //ex: RecipeRequirement.maxSpeed(160)
RecipeRequirement.biome(string) //ex: RecipeRequirement.biome("minecraft:plains")
RecipeRequirement.maxSpeed(string)  //ex: RecipeRequirement.biome("minecraft:plains")
ServerEvents.recipes(event => {
  /** 
    create_mechanical_extruder.extruding(Output result, BlockPredicate[] inputs)
    .catalys(BlockPredicate catalyst) // optional, default: empty
    .advanced(true) //optional, default: false
    .consumeBlock(Couple consume) //optional, default: empty
  **/

    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')])

Thanks to the Creators of Create.

Code inspiration from the Create mod itself.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more