---
navigation:
  parent: ae2-mechanics/ae2-mechanics-index.md
  title: Автокрафт
  icon: pattern_provider
---

# Автокрафт

### Главная фишка

<GameScene zoom="4" interactive={true}>
  <ImportStructure src="../assets/assemblies/autocraft_setup_greebles.snbt" />
  <IsometricCamera yaw="195" pitch="30" />
</GameScene>

Автокрафт — одна из основных функций AE2. Вместо того чтобы вручную изготавливать нужное количество каждого подингредиента и трудиться, как какой-то *плебей*, вы можете попросить вашу МЭ-систему сделать это за вас. Или автоматически изготавливать предметы и экспортировать их куда-то. Или автоматически поддерживать определённое количество предметов в запасе благодаря умному поведению. Это также работает с жидкостями и, если у вас есть определённые аддоны для дополнительных типов материалов из модов, например, газы из Mekanism, с этими материалами тоже. Это довольно круто.

Тема довольно сложная, так что пристегнитесь, и поехали.

Установка автокрафта состоит из трёх элементов:
- Устройство, отправляющее запрос на крафт.
- Процессор крафта.
- <ItemLink id="pattern_provider" />.

Вот что происходит:

1. Что-то создаёт запрос на крафт. Это можете быть вы, щёлкающий в терминале по чему-то, что можно скрафтить автоматически, или МЭ шина экспорта, или МЭ-интерфейс с картой крафта, запрашивающий один из предметов, которые они настроены экспортировать/хранить.

* (**ВАЖНО:** используйте клавишу, привязанную к "выбрать блок" (обычно средняя кнопка мыши), чтобы запрашивать крафт чего-то, что уже есть в запасе, это может конфликтовать с модами для сортировки инвентаря),

2. МЭ-система рассчитывает необходимые ингредиенты и предварительные шаги крафта для выполнения запроса и сохраняет их в выбранном процессоре крафта.

3. <ItemLink id="pattern_provider" /> с соответствующим [шаблоном](../items-blocks-machines/patterns.md) отправляет ингредиенты, указанные в шаблоне, в любой соседний инвентарь. В случае рецепта для верстака (шаблон крафта) это будет <ItemLink id="molecular_assembler" />. В случае рецепта, не связанного с крафтом (шаблон обработки), это будет другой блок, машина или сложная установка с управлением через редстоун.

4. Результат крафта возвращается в систему каким-либо образом, будь то МЭ шина импорта, МЭ-интерфейс или отправка результата обратно в МЭ поставщик шаблонов. **Обратите внимание, что должно произойти событие "предмет поступает в систему", вы не можете просто направить результат в сундук с <ItemLink id="storage_bus" />.**

5. Если этот крафт является предварительным для другого крафта в запросе, предметы сохраняются в процессоре крафта и затем используются в этом крафте.

# Шаблоны

<ItemImage id="crafting_pattern" scale="4" />

Шаблоны создаются в <ItemLink id="pattern_encoding_terminal" /> из пустых шаблонов.

Существует несколько типов шаблонов для разных целей:

* <ItemLink id="crafting_pattern" /> кодируют рецепты, выполняемые на верстаке. Их можно поместить прямо в <ItemLink id="molecular_assembler" />, чтобы он изготавливал результат при наличии ингредиентов, но их основное использование — в <ItemLink id="pattern_provider" /> рядом с МЭ сборщиком молекул. В этом случае МЭ поставщики шаблонов ведут себя особым образом и отправляют соответствующий шаблон вместе с ингредиентами в соседние сборщики. Поскольку сборщики автоматически выбрасывают результаты крафта в соседние инвентари, сборщик на МЭ поставщике шаблонов — это всё, что нужно для автоматизации шаблонов крафта.

***

* <ItemLink id="smithing_table_pattern" /> очень похожи на шаблоны крафта, но кодируют рецепты для кузнечного стола. Они также автоматизируются с помощью МЭ поставщика шаблонов и МЭ сборщика молекул и работают точно так же. Фактически, шаблоны крафта, кузнечного стола и камнереза можно использовать в одной установке.

***

* <ItemLink id="stonecutting_pattern" /> очень похожи на шаблоны крафта, но кодируют рецепты для камнереза. Они также автоматизируются с помощью МЭ поставщика шаблонов и МЭ сборщика молекул и работают точно так же. Фактически, шаблоны крафта, кузнечного стола и камнереза можно использовать в одной установке.

***

* <ItemLink id="processing_pattern" /> — это источник большой гибкости автокрафта. Это наиболее обобщённый тип, просто указывающий: "если МЭ поставщик шаблонов отправляет эти ингредиенты в соседние инвентари, МЭ-система получит эти предметы в ближайшем или далёком будущем". Именно так вы будете автоматизировать крафт с большинством модифицированных машин, печей и т.д. Поскольку они настолько универсальны и не заботятся о том, что происходит между отправкой ингредиентов и получением результата, вы можете делать действительно необычные вещи, например, отправлять ингредиенты в целую сложную производственную цепочку, которая будет сортировать предметы, принимать другие ингредиенты из бесконечных ферм, печатать весь сценарий "Би Муви", МЭ-системе всё равно, лишь бы она получила результат, указанный в шаблоне. Фактически, ей даже не важно, связаны ли ингредиенты с результатом. Вы можете указать "1 вишнёвая доска = 1 звезда Нижнего мира", и ваша ферма визеров убьёт визера при получении вишнёвой доски, и это сработает.

Несколько <ItemLink id="pattern_provider" /> с одинаковыми шаблонами поддерживаются и работают параллельно. Кроме того, вы можете настроить шаблон, например, чтобы 8 булыжников = 8 камня вместо 1 булыжник = 1 камень, и МЭ поставщик шаблонов будет отправлять 8 булыжников в вашу плавильную установку за одну операцию вместо одного за раз.

## Наиболее обобщённая форма "шаблона"

Существует ещё более "обобщённая" форма "шаблона", чем шаблон обработки. <ItemLink id="level_emitter" /> с картой крафта может быть настроен на излучение редстоун-сигнала для крафта чего-либо. Этот "шаблон" не определяет и даже не заботится об ингредиентах. Всё, что он говорит: "Если вы излучаете редстоун из этого МЭ излучателя уровня, МЭ-система получит этот предмет в ближайшем или далёком будущем". Обычно это используется для активации и деактивации бесконечных ферм, не требующих входных ингредиентов, или для активации системы, которая обрабатывает рекурсивные рецепты (которые стандартный автокрафт не может понять), например, "1 булыжник = 2 булыжника", если у вас есть машина, дублирующая булыжник.

# Процессор крафта

<GameScene zoom="4" background="transparent">
  <ImportStructure src="../assets/assemblies/crafting_cpus.snbt" />
  <IsometricCamera yaw="195" pitch="30" />
</GameScene>

Процессоры крафта управляют запросами/заданиями на крафт. Они хранят промежуточные ингредиенты во время выполнения заданий с несколькими шагами, влияют на размер заданий и, в некоторой степени, на скорость их выполнения. Это многоблочные структуры, которые должны быть прямоугольными призмами с хотя бы одним хранилищем крафта.

Процессоры крафта состоят из:

* (Обязательно) [Хранилищ крафта](../items-blocks-machines/crafting_cpu_multiblock.md), доступных во всех стандартных размерах ячеек (1k, 4k, 16k, 64k, 256k). Они хранят ингредиенты и промежуточные ингредиенты, участвующие в крафте, поэтому для больших заданий с большим количеством ингредиентов требуется больше или крупнее хранилища.
* (Опционально) <ItemLink id="crafting_accelerator" />, они заставляют систему отправлять больше партий ингредиентов из МЭ поставщиков шаблонов. Это позволяет, например, МЭ поставщику шаблонов, окружённому 6 МЭ сборщиками молекул, отправлять ингредиенты (и, следовательно, использовать) все 6 сразу, а не только один.
* (Опционально) <ItemLink id="crafting_monitor" />, они отображают задание, которое процессор крафта выполняет в данный момент. Их можно окрашивать с помощью <ItemLink id="color_applicator" />.
* (Опционально) <ItemLink id="crafting_unit" />, они просто заполняют пространство, чтобы сделать процессор крафта прямоугольной призмой.

Каждый процессор крафта обрабатывает один запрос или задание, так что, если вы хотите одновременно запросить вычислительный процессор и 256 гладкого камня, вам нужно 2 многоблочные структуры процессора.

Их можно настроить для обработки запросов от игроков, автоматизации (МЭ шины экспорта и МЭ-интерфейсы) или и того, и другого.

# МЭ поставщики шаблонов

<Row>
<BlockImage id="pattern_provider" scale="4" />
<BlockImage id="pattern_provider" p:push_direction="up" scale="4" />
<GameScene zoom="4" background="transparent">
  <ImportStructure src="../assets/blocks/cable_pattern_provider.snbt" />
</GameScene>
</Row>

<ItemLink id="pattern_provider" /> — это основной способ взаимодействия вашей системы автокрафта с миром. Они отправляют ингредиенты из своих [шаблонов](../items-blocks-machines/patterns.md) в соседние инвентари, и в них можно вставлять предметы для добавления в сеть. Часто можно сэкономить канал, направляя выход машины обратно в ближайший МЭ поставщик шаблонов (часто тот, который отправил ингредиенты), вместо использования <ItemLink id="import_bus" /> для извлечения выхода машины в сеть.

Обратите внимание, что, поскольку они отправляют ингредиенты напрямую из [хранилища крафта](../items-blocks-machines/crafting_cpu_multiblock.md#crafting-storage) в процессоре крафта, они никогда не содержат ингредиенты в своём инвентаре, так что вы не можете извлечь из них предметы. Нужно, чтобы МЭ поставщик отправлял ингредиенты в другой инвентарь (например, бочку), а затем извлекать из него.

Также важно, что МЭ поставщик должен отправить ВСЕ ингредиенты сразу, он не может отправлять половинные партии. Это можно использовать в своих целях.

МЭ поставщики шаблонов имеют особое взаимодействие с МЭ-интерфейсами в [подсетях](../ae2-mechanics/subnetworks.md): если МЭ-интерфейс не модифицирован (ничего в слотах запроса), МЭ поставщик пропустит МЭ-интерфейс и отправит напрямую в [хранилище](../ae2-mechanics/import-export-storage.md) подсети, не заполняя МЭ-интерфейс партиями рецептов и, что более важно, не отправляя следующую партию, пока в хранилище не появится место.

Несколько МЭ поставщиков шаблонов с одинаковыми шаблонами поддерживаются и работают параллельно.

МЭ поставщики шаблонов пытаются распределять свои партии по всем своим сторонам по принципу "карусели", таким образом используя все подключённые машины параллельно.

## Варианты

МЭ поставщики шаблонов бывают трёх разных вариантов: обычный, направленный и плоский. Это влияет на то, с каких сторон они отправляют ингредиенты, принимают предметы и обеспечивают сетевое соединение.

* Обычные МЭ поставщики шаблонов отправляют ингредиенты на все стороны, принимают входные данные со всех сторон и, как большинство машин AE2, действуют как кабель, обеспечивая сетевое соединение на все стороны.

* Направленные МЭ поставщики шаблонов создаются с помощью <ItemLink id="certus_quartz_wrench" /> на обычном МЭ поставщике шаблонов для изменения его направления. Они отправляют ингредиенты только на выбранную сторону, принимают входные данные со всех сторон и специально не обеспечивают сетевое соединение на выбранной стороне. Это позволяет им отправлять данные в машины AE2 без соединения сетей, если вы хотите создать подсеть.

* Плоские МЭ поставщики шаблонов — это [субкомпоненты кабеля](../ae2-mechanics/cable-subparts.md), поэтому несколько таких можно разместить на одном кабеле, что позволяет создавать компактные установки. Они действуют аналогично выбранной стороне направленного МЭ поставщика шаблонов, предоставляя шаблоны, принимая входные данные и не обеспечивая сетевое соединение на своей стороне.

МЭ поставщики шаблонов можно переключать между обычным и плоским в сетке крафта.

## Настройки

МЭ поставщики шаблонов имеют несколько режимов:

* **Режим блокировки** останавливает МЭ поставщик от отправки новой партии ингредиентов, если в машине уже есть ингредиенты.
* **Блокировка крафта** может заблокировать МЭ поставщик при различных условиях редстоуна или до тех пор, пока результат предыдущего крафта не будет вставлен в этот конкретный МЭ поставщик шаблонов.
* МЭ поставщик можно показать или скрыть в <ItemLink id="pattern_access_terminal" />.

## Приоритет

Приоритеты можно установить, щёлкнув по гаечному ключу в правом верхнем углу интерфейса. Если есть несколько [шаблонов](../items-blocks-machines/patterns.md) для одного и того же предмета, шаблоны в МЭ поставщиках с более высоким приоритетом будут использоваться вместо шаблонов в МЭ поставщиках с более низким приоритетом, если только в сети нет ингредиентов для шаблона с более высоким приоритетом.

# МЭ сборщики молекул

<BlockImage id="molecular_assembler" scale="4" />

<ItemLink id="molecular_assembler" /> принимает предметы, поступающие в него, и выполняет операцию, определённую соседним <ItemLink id="pattern_provider" />, или вставленным <ItemLink id="crafting_pattern" />, <ItemLink id="smithing_table_pattern" /> или <ItemLink id="stonecutting_pattern" />, затем отправляет результат в соседние инвентари.

Их основное использование — рядом с <ItemLink id="pattern_provider" />. В этом случае МЭ поставщики шаблонов ведут себя особым образом и отправляют информацию о соответствующем шаблоне вместе с ингредиентами в соседние сборщики. Поскольку сборщики автоматически выбрасывают результаты крафта в соседние инвентари (и, следовательно, в слоты возврата МЭ поставщика шаблонов), сборщик на МЭ поставщике шаблонов — это всё, что нужно для автоматизации шаблонов крафта.

<GameScene zoom="4" background="transparent">
<ImportStructure src="../assets/assemblies/assembler_tower.snbt" />
<IsometricCamera yaw="195" pitch="30" />
</GameScene>