---
navigation:
  parent: items-blocks-machines/items-blocks-machines-index.md
  title: Поставщик шаблонов
  icon: pattern_provider
  position: 210
categories:
- devices
item_ids:
- ae2:pattern_provider
- ae2:cable_pattern_provider
---

# Поставщик шаблонов

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

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

Важно отметить, что поскольку они передают ингредиенты непосредственно из [хранилища крафта](crafting_cpu_multiblock.md#crafting-storage) в центральном процессоре крафта, они никогда фактически не содержат ингредиентов в своем инвентаре, поэтому вы не можете выводить из них предметы. Вы должны заставить поставщика передать предметы в другой инвентарь (например, бочку), а затем выводить из него.

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

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

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

<GameScene zoom="6" background="transparent">
  <ImportStructure src="../assets/assemblies/furnace_automation.snbt" />

<BoxAnnotation color="#dddddd" min="1 0 0" max="2 1 1">
        (1) Поставщик шаблонов: Направленный вариант, с использованием кварцевого гаечного ключа цертуса, с соответствующими шаблонами обработки.

        ![Железный шаблон](../assets/diagrams/furnace_pattern_small.png)
  </BoxAnnotation>

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

<BoxAnnotation color="#dddddd" min="1 1 0" max="1.3 2 1">
        (3) Шина хранения №1: Отфильтрована на уголь.
        <ItemImage id="minecraft:coal" scale="2" />
  </BoxAnnotation>

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

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

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

Это общая иллюстрация подачи шаблонов в несколько машин

<GameScene zoom="6" background="transparent">
<ImportStructure src="../assets/assemblies/provider_interface_storage.snbt" />

<BoxAnnotation color="#dddddd" min="2.7 0 1" max="3 1 2">
        Интерфейс (должен быть плоским, не полным блоком)
  </BoxAnnotation>

<BoxAnnotation color="#dddddd" min="1 0 0" max="1.3 1 4">
        Шины хранения
  </BoxAnnotation>

<BoxAnnotation color="#dddddd" min="0 0 0" max="1 1 4">
        Места, куда вы хотите подать шаблоны
  </BoxAnnotation>

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

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

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

## Варианты

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

* Обычные поставщики шаблонов передают ингредиенты во все стороны, получают входы со всех сторон и, как большинство машин AE2, действуют как кабель, обеспечивая [сетевые соединения](../ae2-mechanics/me-network-connections.md) со всех сторон.

* Направленные поставщики шаблонов создаются путем использования <ItemLink id="certus_quartz_wrench" /> на обычном поставщике шаблонов для изменения его направления. Они передают ингредиенты только на выбранную сторону, получают входы со всех сторон и, в частности, не обеспечивают [сетевое соединение](../ae2-mechanics/me-network-connections.md) на выбранной стороне. Это позволяет им передавать предметы в машины AE2 без подключения к сетям, если вы хотите создать подсеть.

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

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

## Настройки

Поставщики шаблонов имеют различные режимы:

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

## Приоритет

Приоритеты можно установить, нажав на гаечный ключ в правом верхнем углу интерфейса. В случае нескольких [шаблонов](patterns.md) для одного и того же предмета, шаблоны в поставщиках с более высоким приоритетом будут использоваться вместо шаблонов в поставщиках с более низким приоритетом, если только в сети нет ингредиентов для шаблона с более высоким приоритетом.

## Распространенное заблуждение

По какой-то причине люди продолжают это делать, я не понимаю почему, но я помещаю это здесь, чтобы, надеюсь, помочь. (Возможно, люди ошибаются, думая, что <ItemLink id="export_bus" /> — единственный способ для предметов покинуть сеть, не зная, что поставщики шаблонов также экспортируют предметы)

Это не сделает того, что вы от этого хотите. Как упоминалось в [кабелях](cables.md), кабели не являются трубами для предметов, у них нет внутреннего инвентаря, поставщики не будут передавать в них предметы.

<GameScene zoom="8" background="transparent">
  <ImportStructure src="../assets/assemblies/provider_misconception_1.snbt" />

  <BoxAnnotation color="#dddddd" min="1 0 3" max="2 1 4">
        Не доменная печь
  </BoxAnnotation>

  <IsometricCamera yaw="95" pitch="5" />
</GameScene>

Поскольку поставщику некуда передавать предметы, он не сможет функционировать. Все, что он здесь делает, это действует как кабель, подключая <ItemLink id="export_bus" /> к сети.

Поставщик также никак не сообщит <ItemLink id="export_bus" />, что экспортировать; шина экспорта просто экспортирует все, что вы поместили в ее фильтр.

По сути, мы сделали вот что:

<GameScene zoom="8" background="transparent">
  <ImportStructure src="../assets/assemblies/provider_misconception_2.snbt" />

  <BoxAnnotation color="#dddddd" min="1 0 3" max="2 1 4">
        Не доменная печь
  </BoxAnnotation>

  <IsometricCamera yaw="95" pitch="5" />
</GameScene>

Вероятно, на самом деле вы захотите сделать вот что, когда поставщик шаблонов может экспортировать содержимое своих шаблонов в соседнюю машину:

<GameScene zoom="8" background="transparent">
  <ImportStructure src="../assets/assemblies/provider_misconception_3.snbt" />

  <BoxAnnotation color="#dddddd" min="1 0 3" max="2 1 4">
        Не доменная печь
  </BoxAnnotation>

  <IsometricCamera yaw="95" pitch="5" />
</GameScene>

## Использование с молекулярными ассемблерами

<ItemLink id="molecular_assembler" /> по сути, как и любая другая машина. У них есть инвентарь, в который можно вставлять предметы; затем они выполняют действие над предметами в этом инвентаре, а затем, как и многие машины, передают результат в соседний инвентарь. Таким образом, их следует использовать с поставщиками как любую другую машину, с одним дополнением:

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

Таким образом, поставщики шаблонов имеют особую функциональность с ассемблерами: они могут отправлять данные шаблона вместе с ингредиентами. Таким образом, вы можете просто разместить ассемблер рядом с поставщиком шаблонов, и поставщик затем сможет использовать ассемблер для всех своих шаблонов крафта, ковки и распиловки камня.

Это действительно просто: просто поместите шаблоны в поставщики:

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

*Обратите внимание, что здесь ровно 8 поставщиков, это максимальное количество каналов, которые могут быть маршрутизированы через один ассемблер, поставщик или неплотный кабель.*

## Рецепты

<RecipeFor id="pattern_provider" />

<RecipeFor id="cable_pattern_provider" />