---
navigation:
  parent: ae2-mechanics/ae2-mechanics-index.md
  title: Пространственный ввод/вывод
  icon: spatial_storage_cell_2
---

# Пространственный ввод/вывод

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

  <BoxAnnotation color="#33dd33" min="1 1 1" max="2 2 2">
        Объём, который будет перемещён
  </BoxAnnotation>

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

</GameScene>

Пространственный ввод/вывод — это способ вырезать и вставить физические объёмы пространства в вашем мире. Его можно использовать для перемещения <ItemLink id="flawless_budding_quartz" />,
иметь комнату в вашей базе, где вы можете менять различные интерьеры для использования её для разных целей, или даже перемещать
портал в Энд!

Он работает путём *обмена* определённого объёма с объёмом идентичного размера в измерении пространственного хранилища, отправляя всё, что находится
в массиве пилонов, в измерение пространственного хранилища, и всё, что находится в измерении, в массив пилонов.

Это означает, что если у вас есть способ путешествовать между измерениями (пространственный ввод/вывод *можно* использовать для создания телепортера,
но сделать это очень сложно, немного криво и выходит за рамки руководства), вы можете использовать их как компактные машины или карманные
измерения, настраиваемые по размеру.

# Настройка мультиблока

Пространственный ввод/вывод требует определённого расположения своих компонентов для функционирования и определения объёма, который будет вырезан и вставлен.

Все компоненты должны быть в одной [сети](me-network-connections.md) для функционирования, и вы можете иметь только одну
настройку пространственного ввода/вывода в сети. Таким образом, рекомендуется использовать [подсеть](subnetworks.md).

## Порт пространственного ввода/вывода

<BlockImage id="spatial_io_port" p:powered="true" scale="4" />

<ItemLink id="spatial_io_port" /> управляет операцией пространственного ввода/вывода. Он показывает статистику настройки мультиблока и содержит
[пространственные ячейки](../items-blocks-machines/spatial_cells.md)

Он показывает
- Запасённую и максимальную [энергию](energy.md) в сети
- Требуемую энергию для выполнения операции. Это может быть довольно большим количеством и используется мгновенно, поэтому убедитесь, что у вас достаточно
  [ячеек энергии](../items-blocks-machines/energy_cells.md), чтобы вместить всё это.
- Эффективность массива пилонов
- Размер определённого объёма

Для выполнения операции пространственного ввода/вывода поместите пространственную ячейку хранения во входной слот и подайте на порт пространственного ввода/вывода импульс красного камня.
Затем он *обменяет* объём в пилонах с объёмом в измерении пространственного хранилища. Это означает, что если вы отправите какой-то
набор блоков в измерение пространственного хранилища, *затем поместите другой набор блоков в пилоны*, вернёте ячейку обратно во входной слот,
и снова активируете порт ввода/вывода, второй набор блоков исчезнет, а первый набор блоков появится снова.

**БУДЬТЕ ОСТОРОЖНЫ, любое существо в определённом объёме, включая вас, будет перемещено вместе с ним, и если у вас нет способа выбраться, вы будете заперты
в измерении пространственного хранилища, в тёмной, бесформенной коробке.** Используйте это, чтобы подшутить над своими друзьями!

## Пилоны

<BlockImage id="spatial_pylon" p:powered_on="true" scale="4" />

<ItemLink id="spatial_pylon" /> — это основная часть настройки пространственного ввода/вывода и определяет объём, который будет затронут.

Объём определяется ограничивающей рамкой внешней стороны пилонов, сжатой на 1 блок во всех направлениях.

Правила таковы:
- Минимальный размер 3x3x3 (что определяет объём 1x1x1)
- Все пространственные пилоны должны быть во внешней ограничивающей рамке
- Все пространственные пилоны должны быть в одной сети
- Все пилоны должны быть длиной не менее 2 блоков

Например, скажем, вы хотите определить объём 3x3x3. Следуя правилу 2, все пилоны должны быть в пределах оболочки 5x5x5 вокруг
объёма, который вы хотите определить. Они могут быть почти в любой конфигурации, при условии, что они содержатся в этой оболочке толщиной 1 блок
5x5x5.

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

<BoxAnnotation color="#33dd33" min="1 1 1" max="4 4 4">
        Объём, который будет перемещён
  </BoxAnnotation>

<BoxAnnotation color="#3333ff" min="5 5 0" max="0 0 5">
  </BoxAnnotation>

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

Более разумная настройка такова:

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

<BoxAnnotation color="#33dd33" min="1 1 1" max="4 4 4">
        Объём, который будет перемещён
  </BoxAnnotation>

<BoxAnnotation color="#3333ff" min="5 5 0" max="0 0 5">
  </BoxAnnotation>

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

## Эффективность

Эффективность массива пилонов зависит от количества оболочки, которое вы заполняете. Минимальные настройки вокруг больших объёмов
будут очень неэффективными и, возможно, потребуют *миллиардов* AE.

## Измерения ячейки

После того, как [пространственная ячейка](../items-blocks-machines/spatial_cells.md) была использована, она получает постоянно определённый набор измерений XYZ (например, 3x4x2)
и связывается с объёмом пространства в измерении пространственного хранилища. **ВЫ НЕ МОЖЕТЕ СБРОСИТЬ, ПЕРЕФОРМАТИРОВАТЬ ИЛИ ИЗМЕНИТЬ РАЗМЕР ПРОСТРАНСТВЕННОЙ ЯЧЕЙКИ ПОСЛЕ
ТОГО, КАК ОНА БЫЛА ИСПОЛЬЗОВАНА.** Создайте новую ячейку, если хотите использовать другие измерения. 

Это не те же самые измерения, что и в названии ячейки, ячейка 16^3 может иметь любые измерения *до* 16x16x16

Обратите внимание, что этот объём имеет направление и не может быть повернут. Объём 2x2x3 не такой же, как объём 3x2x2, даже если они одинакового
размера.

если измерения XYZ ячейки не совпадают с определённым объёмом (указанным в порту ввода/вывода), порт ввода/вывода не будет работать.