A mechanical extruder block. Can be used to generate any block or item from adjacent blocks/fluids.
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.
{
"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
},
"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"
}
],
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.
Conversation