---
navigation:
  parent: example-setups/example-setups-index.md
  title: Рекурсивное Создание
  icon: minecraft:netherite_upgrade_smithing_template
---

# Настройка рекурсивного создания

Как указано в разделе [автокрафт](../ae2-mechanics/autocrafting.md), алгоритм планирования автокрафта не может обрабатывать рецепты, в которых
основной выход является одним из входов. Например, он не может обрабатывать клонирование <ItemLink id="minecraft:netherite_upgrade_smithing_template" />.

Одно из решений — использование способности <ItemLink id="level_emitter" /> притворяться [шаблоном](../items-blocks-machines/patterns.md).

Это будет использоваться для включения небольшой установки, которая постоянно выполняет создание. В данном случае мы рассмотрим установку
для клонирования <ItemLink id="minecraft:netherite_upgrade_smithing_template" />.

<RecipeFor id="minecraft:netherite_upgrade_smithing_template" />

***

<GameScene zoom="6" interactive={true}>
  <ImportStructure src="../assets/assemblies/recursive_recipe_setup.snbt" />

  <BoxAnnotation color="#dddddd" min="1 0 0" max="2 1 1">
        (1) Интерфейс: настроен на хранение необходимых дополнительных ингредиентов: алмазов и незеррака.
        <Row><ItemImage id="minecraft:diamond" scale="2" /> <ItemImage id="minecraft:netherrack" scale="2" /></Row>
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="2.3 1 0.3" max="2.7 1.3 0.7">
        (2) Излучатель уровня: настроен на "шаблон кузнечного дела из незерита", установлено значение "Выдавать сигнал красного камня для создания предмета".
        <Row><ItemImage id="minecraft:netherite_upgrade_smithing_template" scale="2" /> <ItemImage id="crafting_card" scale="2" /></Row>
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="2 0 0" max="2.3 1 1">
        (3) Шина импорта №1: Отфильтрована по предметам, хранящимся в интерфейсе. Содержит карту красного камня. Режим красного камня установлен на
        "Активен при наличии сигнала".
        <Row>
        <ItemImage id="minecraft:diamond" scale="2" />
        <ItemImage id="minecraft:netherrack" scale="2" />
        <ItemImage id="redstone_card" scale="2" />
        </Row>
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="3 1 1" max="4 1.3 2">
        (4) Шина хранения №1: Установлен более высокий приоритет, чем у другой шины хранения. ОЧЕНЬ ВАЖНО.
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="3 0 1" max="4 1 2">
        (5) Молекулярный Сборщик: Содержит шаблон для дублирования шаблона кузнечного дела.

        ![Шаблон](../assets/diagrams/smithing_template_pattern_small.png)

        Также в него уже вручную вставлен один шаблон кузнечного дела при первой сборке.
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="2.7 0 1" max="3 1 2">
        (6) Шина импорта №2: В своей конфигурации по умолчанию.
  </BoxAnnotation>

  <BoxAnnotation color="#dddddd" min="1 0 1" max="2 1 1.3">
        (7) Шина хранения №2: Отфильтрована по "шаблону кузнечного дела из незерита". Установлен более низкий приоритет, чем у первой шины хранения.
        <ItemImage id="minecraft:netherite_upgrade_smithing_template" scale="2" />
  </BoxAnnotation>

<DiamondAnnotation pos="0 0.5 0.5" color="#00ff00">
        К Основной Сети
    </DiamondAnnotation>

  <IsometricCamera yaw="15" pitch="30" />
</GameScene>

## Конфигурации

* <ItemLink id="interface" /> (1) настроен на хранение необходимых дополнительных ингредиентов: алмазов и незеррака.
* <ItemLink id="level_emitter" /> (2) настроен на "шаблон кузнечного дела из незерита" и установлен на "Выдавать сигнал красного камня для создания предмета".
* Первая <ItemLink id="import_bus" /> (3) отфильтрована по предметам, хранящимся в интерфейсе. Она содержит карту красного камня. Режим красного камня установлен на "Активен при наличии сигнала".
* Первая <ItemLink id="storage_bus" /> (4) установлена на *более высокий* [приоритет](../ae2-mechanics/import-export-storage.md#storage-priority), чем вторая шина хранения.
* <ItemLink id="molecular_assembler" /> (5) содержит шаблон для дублирования шаблона кузнечного дела, и один шаблон кузнечного дела уже вставлен вручную.

  ![Шаблон](../assets/diagrams/smithing_template_pattern.png)

* Вторая <ItemLink id="import_bus" /> (6) находится в своей конфигурации по умолчанию.
* Вторая <ItemLink id="storage_bus" /> (7) отфильтрована по "шаблону кузнечного дела из незерита". Она имеет *более низкий* [приоритет](../ae2-mechanics/import-export-storage.md#storage-priority), чем первая шина хранения.

## Как это работает

1. <ItemLink id="level_emitter" /> притворяется [шаблоном](../items-blocks-machines/patterns.md) благодаря вставленной
   <ItemLink id="crafting_card" /> и установке "Выдавать сигнал красного камня для создания предмета". Таким образом, "шаблон кузнечного дела из незерита" отображается в
   [терминалах](../items-blocks-machines/terminals.md) как действительный предмет для [автокрафта](../ae2-mechanics/autocrafting.md).
2. При получении запроса на создание этого предмета, будь то от игрока или от самой системы, излучатель уровня включается.
3. Первая <ItemLink id="import_bus" /> активируется излучателем уровня и извлекает ингредиенты, хранящиеся в <ItemLink id="interface" />.
4. Единственная <ItemLink id="storage_bus" /> в сети, способная хранить эти ингредиенты, — это та, что находится на сборщике.
5. <ItemLink id="molecular_assembler" /> получает ингредиенты (уже имея внутри 1 шаблон кузнечного дела) и выполняет создание, производя 2 шаблона кузнечного дела.
6. Вторая <ItemLink id="import_bus" /> извлекает 1 шаблон кузнечного дела.
7. Первая шина хранения имеет более высокий приоритет, поэтому этот шаблон кузнечного дела возвращается в сборщик.
8. Вторая <ItemLink id="import_bus" /> извлекает 1 шаблон кузнечного дела.
9. Сборщик не может принять еще один шаблон кузнечного дела, поэтому второй шаблон кузнечного дела отправляется в шину хранения с более низким приоритетом, вставляя его в интерфейс.
10. <ItemLink id="interface" />, не настроенный на хранение шаблонов кузнечного дела, вставляет его в сеть.
    ---