
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. Only contains very basic recipes.
Heavily inspired on Thermal Expansions Igneous Extruder.
Dedicated wiki
1.21.1-2.x Version Requires Mechanicals Lib
Version support & documentation
- 1.21.1: Supported. Documentation refers to this version.
- 1.20.1: Only critical issues
- 1.19.x: Unsupported: Documentation
- 1.18.x: Unsupported: Documentation
Andesite Extruder
- Kinetic block.
- Filter functionality for selecting output when recipe collides.
- Shift+right click with empty hand to extract content.
- Extraction via automation.
Brass Extruder
- Can consume source blocks.
Extruding recipes
- JEI integration.
- Per recipe custom requirements.
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)
"requiredBonks": 10
- Defines how many times must hit.
Advanced extruder (brass) per recipe (optional)
"advanced":"true"
- Recipes requires brass extruder.
Consume blocks (advanced recipe)
- Advanced extruder can consume blocks.
"consumeBlocks": { "first": false, "second": true },
Recipe Requirements
- 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 } ],
- Biome
"requirements": [ { "type": "mechanicals:biome", "value": "minecraft:plains" } ],
- BiomeTag
"requirements": [ { "type": "mechanicals:biome_tag", "value": "minecraft:is_nether" } ],
KubeJS
-
Remove al Extruding recipes.
ServerEvents.recipes(event => { event.remove({ type: 'create_mechanical_extruder:extruding' }) })
-
Chanced output (binding)
Output.of('minecraft:clay', 0.5) Output.of('4xminecraft:clay', 0.5)
-
BlockPredicate (binding)
BlockPredicate.of('minecraft:sand')
-
RecipeRequirement (binding)
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")
-
Add recipes
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')})
-
Some examples:
//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](https://www.curseforge.com/minecraft/mc-mods/create "Create") mod itself.