
Create Mechanical Extruder
Механический экструдер для Create - генерирует блоки и предметы из соседних блоков/жидкостей. Идеально для автоматизации и модпаков.
Create Mechanical Extruder - это мод для Майнкрафт, который добавляет механический экструдер - блок, способный создавать любые блоки или предметы из соседних блоков и жидкостей. По сути, это автоматический генератор ресурсов, вдохновленный Igneous Extruder из Thermal Expansion.
Зачем это нужно? В ванильном Майнкрафте добыча многих ресурсов - рутинная работа. С этим модом ты можешь построить автоматическую ферму булыжника, камня, песка, обсидиана и даже редких блоков, просто подав нужные ингредиенты и крутящий момент. Мод создан в первую очередь для сборок модов, поэтому базовые рецепты очень простые, а кастомизация - безграничная.
Версии и поддержка
- 1.21.1 - поддерживается, документация актуальна
- 1.20.1 - только критические исправления
- 1.19.x - не поддерживается
- 1.18.x - не поддерживается
Для версии 1.21.1-2.x требуется Mechanicals Lib.
Типы экструдеров
Андезитовый экструдер
- Кинетический блок (требует вращения)
- Есть фильтр для выбора результата, если рецепты пересекаются
- Shift+ПКМ пустой рукой - извлечь содержимое
- Можно автоматизировать извлечение
Латунный экструдер (продвинутый)
- Может потреблять исходные блоки (не только жидкости)
- Поддерживает сложные рецепты с требованиями
Рецепты экструзии
Вся магия происходит через рецепты. Мод имеет интеграцию с JEI - все рецепты можно посмотреть в игре. Каждый рецепт может иметь свои требования.
Формат рецепта (JSON)
Базовый рецепт выглядит так:
{
"blocks": "minecraft:water"
}
Можно указать конкретное состояние блока:
{
"blocks": "minecraft:furnace",
"state": {
"lit": "true"
}
}
Входные блоки (blockIngredients)
"blockIngredients": {
"first": {
"blocks": "minecraft:water"
},
"second": {
"blocks": "minecraft:lava"
}
}
Катализатор (catalyst)
Необязательный блок, который меняет результат:
"catalyst": {
"blocks": "minecraft:obsidian"
}
Требуемые удары (requiredBonks)
Сколько раз нужно ударить по экструдеру для запуска:
"requiredBonks": 10
Продвинутый рецепт (advanced)
Требует латунный экструдер:
"advanced": "true"
Потребление блоков (consumeBlocks)
Только для латунного экструдера - может тратить один или оба ингредиента:
"consumeBlocks": {
"first": false,
"second": true
}
Требования к рецепту (requirements)
Можно задать условия, при которых рецепт работает:
- MinY/MaxY - только на определенной высоте:
{
"type": "mechanicals:min_y",
"value": 0
}
- MinSpeed/MaxSpeed - только при определенной скорости вращения:
{
"type": "mechanicals:max_speed",
"value": 4.0
}
- Biome - только в определенном биоме:
{
"type": "mechanicals:biome",
"value": "minecraft:plains"
}
- BiomeTag - по тегу биома (например, is_nether):
{
"type": "mechanicals:biome_tag",
"value": "minecraft:is_nether"
}
KubeJS интеграция
Для продвинутых сборщиков модов есть полная поддержка KubeJS. Можно добавлять, удалять и изменять рецепты прямо через скрипты.
Удаление рецептов
ServerEvents.recipes(event => {
event.remove({ type: 'create_mechanical_extruder:extruding' })
})
Шансовый вывод (Chanced output)
Можно задать вероятность получения предмета:
Output.of('minecraft:clay', 0.5) // 50% шанс получить глину
Output.of('4xminecraft:clay', 0.5) // 50% шанс получить 4 глины
BlockPredicate (привязка)
BlockPredicate.of('minecraft:sand')
RecipeRequirement (привязка)
RecipeRequirement.minY(-10)
RecipeRequirement.maxY(20)
RecipeRequirement.minSpeed(2.0)
RecipeRequirement.maxSpeed(160)
RecipeRequirement.biome("minecraft:plains")
RecipeRequirement.biomeTag("minecraft:is_nether")
Добавление рецептов (примеры)
Минимальный:
event.recipes.create_mechanical_extruder.extruding(
Item.of('minecraft:redstone_block'),
[BlockPredicate.of('minecraft:lava'), BlockPredicate.of('minecraft:stone')]
)
С катализатором:
event.recipes.create_mechanical_extruder.extruding(
Item.of('minecraft:dirt'),
[BlockPredicate.of('minecraft:lava'), BlockPredicate.of('minecraft:stone')]
).catalyst('minecraft:clay')
С ударами:
event.recipes.create_mechanical_extruder.extruding(
Item.of('minecraft:sand'),
[BlockPredicate.of('minecraft:lava'), BlockPredicate.of('minecraft:stone')]
).requiredBonks(10)
Шансовый вывод + удары:
event.recipes.create_mechanical_extruder.extruding(
Output.of('minecraft:birch_planks',0.5),
[BlockPredicate.of('minecraft:lava'), BlockPredicate.of('minecraft:stone')]
).requiredBonks(5)
Продвинутый экструдер:
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)
Продвинутый + потребление блоков:
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)
С разным потреблением:
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)
С требованием биома:
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")])
С требованием тега биома:
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")])
С высотными требованиями:
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)])
С требованиями скорости:
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)])
Все требования вместе:
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")])
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
export {}
