---
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" /> із відповідним [шаблоном](../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 зірка Незеру»
  і ваша ферма Візерів вбиватиме Візера після отримання вишневої дошки.

Кілька постачальників шаблонів з однаковими шаблонами здатні працювати паралельно. Крім того, ви можете встановити шаблон,
наприклад, 8 кругляків = 8 каменів замість 1 кругляк = 1 камінь, і постачальник шаблонів вставлятиме до вашої устави витоплення
одразу 8 кругляків у кожний момент опрацювання замість 1.

## Найпримітивніша форма «шаблону»

Насправді існує ще більш «загальна» форма «шаблону», ніж шаблон обробки. <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), доступні в усіх стандартних розмірах комірок (1К, 4К, 16К, 64К, 256К). Вони зберігають складники та
  проміжні складники, що потрібні у завданні вироблення, тому для обробки завдань з вироблення, що вимагають більше складників, процесору потрібні
  більші або додаткові сховища.
- (Необов’язково) <ItemLink id="crafting_accelerator" /> змушує систему частіше відправляти партії складників від постачальників шаблонів.
  Це дозволяє, наприклад, постачальнику шаблонів, оточеному 6 молекулярними збирачами, надсилати складники (і, таким чином, використовувати) всі 6 одночасно, а не тільки один.
- (Необов’язково) <ItemLink id="crafting_monitor" /> відображає завдання, яке в цей момент обробляє процесор. <ItemLink id="color_applicator" /> може забарвити іх.
- (Необов’язково) <ItemLink id="crafting_unit" /> використовується для заповнення простору, щоб зробити процесор прямокутним паралелепіпедом.

Кожен процесор обробляє 1 запит або завдання, тому якщо ви хочете одночасно запросити обчислювальний процесор і 256 гладких каменів, вам знадобиться дві процесорних конструкції.

Процесори вироблення можна налаштувати для обробки запитів від гравців, автоматизації (експортні шини та інтерфейси) або обох.

# Постачальники шаблонів

<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#сховище-для-вироблення) процесора вироблення, вони фактично ніколи не містять складників у своєму інвентарі, тому ви не можете виводити їх звідти. Ви повинні змусити постачальника виштовхнути складники в інше містило напряму в обробну уставу, або через буфер (наприклад, у діжку, щоб потім розподіляти предмети з неї).

Також враховуйте, що постачальник повинен постачати ВСІ складники одночасно, він не може розділяти партії.

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

Декілька постачальників шаблонів з однаковим шаблоном працюватимуть паралельно.

Постачальники шаблонів намагатимуться циклічно розподілити свої партії між усіма своїми робочими сторонами, використовуючи паралельно всі прилеглі машини.

## Типи

Постачальники шаблонів бувають 3 різних типів: звичайні, спрямовані та пласкі. Це впливає на те, до яких конкретних сторін вони переміщують складники, від яких отримують предмети та якими надають мережеве з’єднання.

- Звичайні постачальники шаблонів передають складники в усі боки, отримують результати з усіх боків і, як і більшість машин AE2, діють як кабель, що забезпечує мережеве з’єднання з усіма сторонами.

- Спрямовані постачальники шаблонів надсилають складники тільки на вибрану сторону, отримують вхідні дані з усіх боків і не забезпечують мережеве з’єднання на вихідній стороні. Це дозволяє їм надсилати дані на машини AE2 без підключення до мереж, якщо ви хочете створити підмережу. Застосувавши <ItemLink id="certus_quartz_wrench" /> на звичайному постачальнику шаблонів ви отримаєте його спрямований варіант, який можна обертати додатковим застосуванням ключа.

- Пласкі постачальники шаблонів є [кабельним компонентом](../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" />, а потім відправляє результат до прилеглих містил.

Їх основне використання — поруч із <a href="../items-blocks-machines/pattern_provider.md">постачальником шаблонів</a>. Постачальники шаблонів мають особливу поведінку в цьому випадку і надсилають інформацію про відповідний шаблон разом зі складниками до усіх прилеглих збирачів. Оскільки збирачі автоматично виштовхують результати майстрування до прилеглих містил (а отже, і до слотів повернення постачальника шаблонів), для автоматизації шаблонів майстрування достатньо лише розмістити збирач на постачальнику шаблонів.

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