Description
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.
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
"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
- Remove al Extruding recipes.
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 (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")
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.
AD
Become Premium to remove Ads!
What means Verified?
-
Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
-
Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
-
Security: The mod should not contain any malicious code or attempts to steal personal information.
-
Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
-
Originality: The mod should be original and not a copy of someone else's work.
-
Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
-
Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
-
License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
-
Documentation: The mod should come with clear and detailed documentation on how to install and use it.
AD
Become Premium to remove Ads!
How to Install
Download Forge & Java
Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.
Prepare
Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.
Add Mods
Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder
Enjoy
You are now Ready. Re-start your Game and start Playing.