---
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. Вместо того чтобы вручную создавать необходимое количество каждого подынгредиента и трудиться как какой-то *плебей*, вы можете поручить это вашей ME-системе. Или автоматически создавать предметы и экспортировать их куда-либо. Или автоматически поддерживать определенное количество предметов на складе за счет умного самоорганизующегося поведения. Это также работает с жидкостями, и, если у вас есть определенные дополнения для материалов других модов, таких как газы Mekanism, то и с этими материалами тоже. Это довольно здорово.

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

Настройка автокрафта состоит из 3 вещей:
- То, что отправляет запрос на крафт
- Крафтовый ЦПУ
- <ItemLink id="pattern_provider" />.

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

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

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

2.  ME-система вычисляет необходимые ингредиенты и предварительные шаги крафта для выполнения запроса и сохраняет их в выбранном крафтовом ЦПУ.

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

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

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

## Рекурсивные Рецепты

<ItemImage id="minecraft:netherite_upgrade_smithing_template" scale="4" />

Одна вещь, которую алгоритм автокрафта *не может* обрабатывать, — это рекурсивные рецепты. Например, рецепты дублирования, такие как "1 пыль редстоуна = 2 пыли редстоуна", получаемые путем бросания редстоуна в манапул Botania. Другим примером могут быть шаблоны кузнечного дела в ванильном Minecraft. Однако существует [способ обработки этих рецептов.](../example-setups/recursive-crafting-setup.md)

# Шаблоны

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

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

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

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

# Крафтовый ЦПУ

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

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

Крафтовые ЦПУ состоят из:

*   (Обязательно) [Хранилища крафта](../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" />ы, они просто заполняют пространство, чтобы сделать ЦПУ прямоугольной призмой.

Каждый крафтовый ЦПУ обрабатывает 1 запрос или задание, поэтому, если вы хотите запросить одновременно процессор вычислений и 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) этой подсети, пропуская интерфейс и не заполняя его партиями рецептов, и, что более важно, не вставляя следующую партию, пока в хранилище не появится место.

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

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

## Варианты

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

*   Обычные поставщики шаблонов отправляют ингредиенты во все стороны, получают входные данные со всех сторон и, как большинство машин 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>