Build Craft/Гейты

Материал из Playzone Minecraft Wiki
Версия от 03:07, 1 февраля 2013; Softer (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Гейты
Тип

Предметы

Прочность

Нет

Складываемый

Да (64)

Первое появление

?

Гейты — это трубные логистические элементы, выполняющие определённое действие при выполнении различных условий. Набор возможных условий может меняться в зависимости от того, к чему присоединена труба. Изготавливаются в сборочном столе. Гейт можно снять с трубы, нажав ⇧ Shift+ПКМ.

Сборка

Ингредиенты Крафт Результат
Чип из красного камня
 Grid Чип из красного камня (Build Craft).png  Grid layout Empty.png  Grid layout Empty.png Grid layout Arrow (small).png  Grid Гейт из красного камня (Build Craft).png
20000</span>
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
Grid layout Shapeless.png
Этот рецепт для сборочного стола.
Гейт из красного камня
Железный чип,
Красный провод
 Grid Железный чип (Build Craft).png  Grid Красный провод (Build Craft).png  Grid layout Empty.png Grid layout Arrow (small).png  Grid Железный гейт и (Build Craft).pngGrid Железный гейт или (Build Craft).png
40000</span>
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
Grid layout Shapeless.png
Этот рецепт для сборочного стола.
Железный гейт
Золотой чип,
Красный провод,
Синий провод
 Grid Золотой чип (Build Craft).png  Grid Красный провод (Build Craft).png  Grid Синий провод (Build Craft).png Grid layout Arrow (small).png  Grid Золотой гейт и (Build Craft).pngGrid Золотой гейт или (Build Craft).png
80000</span>
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
Grid layout Shapeless.png
Этот рецепт для сборочного стола.
Золотой гейт
Алмазный чип,
Красный провод,
Синий провод,
Жёлтый провод,
Зелёный провод
 Grid Алмазный чип (Build Craft).png  Grid Красный провод (Build Craft).png  Grid Синий провод (Build Craft).png Grid layout Arrow (small).png  Grid Алмазный гейт и (Build Craft).pngGrid Алмазный гейт или (Build Craft).png
160000</span>
 Grid Зелёный провод (Build Craft).png  Grid Жёлтый провод (Build Craft).png  Grid layout Empty.png
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
Grid layout Shapeless.png
Этот рецепт для сборочного стола.
Алмазный гейт
Любой непульсирующий гейт,
Железный чип,
Пульсирующий чип
 Grid Гейт из красного камня (Build Craft).pngGrid Железный гейт и (Build Craft).pngGrid Железный гейт или (Build Craft).pngGrid Золотой гейт и (Build Craft).pngGrid Золотой гейт или (Build Craft).pngGrid Алмазный гейт и (Build Craft).pngGrid Алмазный гейт или (Build Craft).png  Grid Железный чип (Build Craft).png  Grid Пульсирующий чип (Build Craft).png Grid layout Arrow (small).png  Grid Пульсирующий гейт из красного камня (Build Craft).pngGrid Пульсирующий железный гейт и (Build Craft).pngGrid Пульсирующий железный гейт или (Build Craft).pngGrid Пульсирующий золотой гейт и (Build Craft).pngGrid Пульсирующий золотой гейт или (Build Craft).pngGrid Пульсирующий алмазный гейт и (Build Craft).pngGrid Пульсирующий алмазный гейт или (Build Craft).png
20000</span>
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
 Grid layout Empty.png  Grid layout Empty.png  Grid layout Empty.png
Grid layout Shapeless.png
Этот рецепт для сборочного стола.
Пульсирующий гейт
того же уровня и
логики.

Интерфейсы

Гейт из красного камня

GUI самого простого гейта выглядит так.

GUI.png

  1. Это условие.
  2. Обозначает, выполнено ли данное условие.
  3. Действие, которое будет выполнять гейт, если условие выполнено.

Условия и действия выбираются с помощью нажатий на слотах ПКМ или ЛКМ.

Виды условий
Название Иконка Описание
Pipe Empty Pipe Empty (Build Craft).png Срабатывает, если по участку трубы, на котором установлен гейт, ничего не передаётся.
Items Traversing Items Traversing (Build Craft).png Срабатывает, если по участку трубы, на котором установлен гейт, транспортируется предмет. Условие доступно только у труб для предметов.
Liquid Traversing Liquid Traversing (Build Craft).png Срабатывает если по участку трубы, на котором установлен гейт, транспортируется жидкость. Условие доступно только у труб для жидкостей.
Power Traversing Power Traversing (Build Craft).png Срабатывает, если по участку трубы, на котором установлен гейт, передаётся энергия. Условие доступно только у труб для энергии.
Redstone Signal On Grid Красный камень (факел).png Срабатывает, если на гейт подаётся сигнал красного камня.
Redstone Signal Off Redstone Signal Off (Build Craft).png Срабатывает, если на гейт не подаётся сигнал красного камня.
Inventory Empty Inventory Empty (Build Craft).png Срабатывает, если на соседних блоках (сверху, снизу или сбоку от гейта) есть пустой сундук или устройство с пустым инвентарём. Условие доступно, только если на соседних блоках есть сундук или устройство с инвентарём.
Items in Inventory Items in Inventory (Build Craft).png Срабатывает, если на соседних блоках есть сундук или устройство с предметами в инвентаре. Условие доступно, только если на соседних блоках есть сундук или устройство с инвентарём.
Space in Inventory Space in Inventory (Build Craft).png Срабатывает, если на соседних блоках есть сундук или устройство со свободными слотами в инвентаре. Условие доступно, только если на соседних блоках есть сундук или устройство с инвентарём.
Inventory Full Inventory Full (Build Craft).png Срабатывает, если на соседних блоках есть сундук или устройство с полностью заполненным инвентарём. Условие доступно, только если на соседних блоках есть сундук или устройство с инвентарём.
Tank Empty Tank Empty (Build Craft).png Срабатывает, если на соседних блоках есть пустая цистерна или устройство с пустой ёмкостью для жидкостей. Условие доступно, только если на соседних блоках есть цистерна или устройство с ёмкостью для жидкостей.
Liquid in Tank Liquid in Tank (Build Craft).png Срабатывает, если на соседних блоках есть цистерна или устройство с залитой жидкостью. Условие доступно, только если на соседних блоках есть цистерна или устройство с ёмкостью для жидкостей.
Space for Liquid Space for Liquid (Build Craft).png Срабатывает, если на соседних блоках есть цистерна или устройство со свободным местом для жидкости. Условие доступно, только если на соседних блоках есть цистерна или устройство с ёмкостью для жидкостей.
Tank Full Tank Full (Build Craft).png Срабатывает, если на соседних блоках есть цистерна или устройство с полностью залитой ёмкостью для жидкостей. Условие доступно, только если на соседних блоках есть цистерна или устройство с ёмкостью для жидкостей.
Engine Stage Engine Stage1 (Build Craft).pngEngine Stage2 (Build Craft).png
Engine Stage3 (Build Craft).pngEngine Stage4 (Build Craft).png
Срабатывает, если на соседних блоках есть двигатель с таким же цветом нагрева. Условие доступно, только если на соседних блоках есть двигатель.
Capacitor Empty Capacitor Empty (Build Craft).png Срабатывает, если на соседних блоках есть электрическое устройство IC2 c разряженным аккумулятором. Условие доступно, только если на соседних блоках есть электрическое устройство IC2.
Capacitor Has Energy Capacitor Has Energy (Build Craft).png Срабатывает, если на соседних блоках есть электрическое устройство IC2 c энергией в аккумуляторе. Условие доступно, только если на соседних блоках есть электрическое устройство IC2.
Space For Energy Capacitor Has Energy (Build Craft).png Срабатывает, если на соседних блоках есть электрическое устройство IC2 c аккумулятором, который можно зарядить. Условие доступно, только если на соседних блоках есть электрическое устройство IC2.
Capacitor Full Capacitor Full (Build Craft).png Срабатывает, если на соседних блоках есть электрическое устройство IC2 c полностью заряженным аккумулятором. Условие доступно, только если на соседних блоках есть электрическое устройство IC2.
Виды действий
Redstone Signal Grid Красный камень (факел).png При выполнении условия гейт светится красным цветом и генерирует сигнал красного камня.

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

Железный гейт

Интерфейс железного гейта (Build Craft).png

В интерфейсе железного гейта можно задать 2 условия. Также железные гейты имеют тип И или ИЛИ. В первом случае действие сработает, только если будут выполнены все условия с такими же действиями. Во втором случае достаточно исполнения любого условия.

Условия и действия железного гейта такие же, как и у предыдущего, но добавляются несколько дополнительных для красного провода.

Виды условий
Название Иконка Описание
Red Pipe Signal On Red Pipe Signal On (Build Craft).png Срабатывает, если красный провод на этом участке трубы активирован. Опция доступна, если на трубе установлен красный провод.
Red Pipe Signal Off Red Pipe Signal Off (Build Craft).png Срабатывает, если красный провод на этом участке трубы не активирован. Опция доступна, если на трубе установлен красный провод.
Виды действий
Red Pipe Signal Red Pipe Signal On (Build Craft).png При выполнении условия активируется красный провод. Опция доступна, если на трубе установлен красный провод.

Золотой гейт

Интерфейс золотого гейта (Build Craft).png

В интерфейсе золотого гейта 4 условия. Золотые, как и железные, имеют тип И или ИЛИ.

Дополнительно у золотых гейтов есть вторичные параметры условий. По умолчанию они не определены и перечёркнуты. Они становятся доступны для некоторых условий с инвентарём, тогда можно добавить тип предмета, или для условий с цистерной, тогда можно добавить тип жидкости. Для этого во второй слот нужно добавить предмет из инвентаря, для условий с цистерной нужно добавить ёмкость с какой-либо жидкостью. Таким образом можно определить более точные условия для гейта.

Условия и действия золотого гейта такие же, как и у предыдущего, но добавляются несколько дополнительных для синего провода. (Гейт работает и с красными проводами).

Виды условий
Название Иконка Описание
Blue Pipe Signal On Blue Pipe Signal On (Build Craft).png Срабатывает, если синий провод на этом участке трубы активирован. Опция доступна, если на трубе установлен синий провод.
Blue Pipe Signal Off Blue Pipe Signal Off (Build Craft).png Срабатывает, если синий провод на этом участке трубы не активирован. Опция доступна, если на трубе установлен синий провод.
Виды действий
Blue Pipe Signal Blue Pipe Signal On (Build Craft).png При выполнении условия активируется синий провод. Опция доступна, если на трубе установлен синий провод.

Алмазный гейт

Интерфейс алмазного гейта (Build Craft).png

В интерфейсе алмазных гейтов 8 условий. Алмазные, как и предыдущие, имеют тип И или ИЛИ.

Как и у золотых гейтов, у алмазных тоже есть вторичные параметры условий.

Условия и действия алмазного гейта такие же, как и у предыдущего, но добавляются несколько дополнительных для зелёного и жёлтого проводов. (Гейт работает и с красными, и с синими проводами).

Виды условий
Название Иконка Описание
Green Pipe Signal On Green Pipe Signal On (Build Craft).png Срабатывает если, зелёный провод на этом участке трубы активирован. Опция доступна, если на трубе установлен зелёный провод.
Green Pipe Signal Off Green Pipe Signal Off (Build Craft).png Срабатывает, если зелёный провод на этом участке трубы не активирован. Опция доступна, если на трубе установлен зелёный провод.
Yellow Pipe Signal On Yellow Pipe Signal On (Build Craft).png Срабатывает, если жёлтый провод на этом участке трубы активирован. Опция доступна, если на трубе установлен жёлтый провод.
Yellow Pipe Signal Off Yellow Pipe Signal Off (Build Craft).png Срабатывает, если жёлтый провод на этом участке трубы не активирован. Опция доступна, если на трубе установлен жёлтый провод.
Виды действий
Green Pipe Signal Green Pipe Signal On (Build Craft).png При выполнении условия активируется зелёный провод. Опция доступна, если на трубе установлен зелёный провод.
Yellow Pipe Signal Yellow Pipe Signal On (Build Craft).png При выполнении условия активируется жёлтый провод. Опция доступна, если на трубе установлен жёлтый провод.

Пульсирующий гейт

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

Но у них дополнительно есть действие "Energy Pulser". Как и такты у механического двигателя, эти пульсации тоже ускоряются со временем.

Виды действий
Название Иконка Описание
Energy Pulser Energy Pulser (Build Craft).png Работает, только если гейт установлен на деревянной или обсидиановой трубе. Если это деревянная труба для предметов, то будет извлекать предметы из инвентаря, к которому присоединена труба. Если это деревянная труба для жидкостей, то жидкости. Если это деревянная труба для энергии, то будет генерироваться энергия с мощностью механического двигателя. Если это обсидиановая труба, то будут подбираться предметы по одному перед трубой.

Примеры использования

Вводные примеры

Автоматическая обработка руды в печи

Гейты пример1 (Build Craft).jpg
Здесь используются два железных гейта и красный провод. Гейт рядом с воронкой проверяет условие, что в ней нет предметов и активирует красный провод, если это так и есть. Гейт около сундука проверяет, есть ли в сундуке предметы и включён ли красный провод, и в этом случае он выдаёт сигнал красного камня. То есть если в воронке нет предметов, а в сундуке есть, то включится двигатель, и предметы из сундука будут перемещаться в воронку. Из воронки они будут помещаться в печку и обрабатываться (будем считать, что топлива в печке достаточно). И, конечно, ещё нужно добавить извлечение обработанных предметов из печки.

Продвинутые примеры

Логика гейтов позволяет заменить собой многие элементы редстоун-схем. И сделать их значительно более компактными. Элементы, которые на красном камне могут занять десятки блоков, здесь можно уместить в два-три. Но у них есть существенный недостаток: при перезагрузки игры все значения гейтов сбрасываются. Возможно, при выгрузке чанков — тоже. Таким образом, соорудить долговременную память здесь не получится. Но обычную — можно и нужно. С нее и начнем.

Ячейка памяти

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

Что же представляет собой наша ячейка? Самый простой вариант — это обычный золотой ИЛИ-гейт, настроенный, как показано на рисунке ниже:

RS NOR триггер на гейтах (BuildCraft).png

Логика работы устройства очевидна: синий сигнал выключает красный, а красный, в свою очередь, выключает синий. Дополнительно, мы разместили там же возможность переключения ее в одно из состояний подачей редстоун-сигнала, что позволяет разместить рядом с ней кнопку принудительного сборса. Казалось бы, всё просто. Но у этой схемы есть один недостаток, проявляющийся, чаще всего, именно при перезагрузке игры. Что будет, если сигнала нет на обоих проводах? Условия будут обработаны одновременно. Т.е. схема начнет выдавать и красный, и синий сигналы сразу. А в следующем такте — они оба снова отключатся. Мы получим мигалку. Конечно, достаточно долгий сигнал на один из входов (та самая кнопка сброса) выведет нашу ячейку из этого состояния... до первого перезапуска игры.

Чтобы избежать этого, мы должны разнести концы нашей ячейки по разным элементам: условие «если нет синего, то красный» проверять на одной клетке, а «если нет красного, то синий» — на другой. Одна из клеток будет обработана движком раньше, другая — позже. Первая из них и определит начальное состояние ячейки. Таким образом, нам на нее нужно два золотых гейта.

Где такая ячейка может пригодиться?

Пусть у нас есть полный контейнер с ресурсами. И много печей, в которые мы хотим загружаем эти ресурсы. Простейшая, ручная реализация без использования гейтов будет выглядеть так: мы выводим трубу из контейнера, ставим на входе редстоун-двигатель, к каждой печи делаем ввод таким образом, чтобы, если в ней нет места, ресурсы шли дальше, к следующей печи (это достигается алмазной трубой или, что предпочтительнее, вводящей трубой из Additional BuildCraft Objects). Обойдя все печи, мы направляем трубу обратно в тот же самый контейнер, чтобы весь лут, которому не хватило места в печах, складывался туда, где лежал.

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

Пусть сигналом на начало работы будет пустой инвентарь первой из печей, а сигналом на его конец — появление лута в трубе, ведущей от печей обратно в контейнер. Первый сигнал будет включать ячейку, второй — выключать. Также мы можем предусмотреть кнопку для включения системы вручкую. Обратите внимание, что у элементов нашей ячейки остались свободные входы, а значит — мы можем использовать одни и те же гейты как для нее, так и в роли детекторов этих сигналов. А если один из гейтов сделать пульсирующим — он вполне может заменить собой и двигатель на выходе контейнера.

Т-триггер

Следующая задача значительно сложнее. Вот у нас есть эта ячейка. И теперь мы хотим, чтобы она переключала свои состояния при каждом проходе какого-либо объекта по трубе. Проблема здесь в том, что мы не можем просто задать условие «если есть синий сигнал и прошел объект по трубе, то включить красный и наоборот». Такая схема просто начнет быстро переключать сама себя и перейдет в режим "мигалки", из которого она сама уже не выйдет. Здесь необходима более сложная логика, и именно она приведена на рисунке ниже:

T триггер на гейтах (BuildCraft).png

Как мы можем видеть, используется алмазный И-гейт. И задействованы все его выходы, один (точнее — два, настройки их входа должны быть идентичны) из которых и служит для детектирования предметов. Также задействованы все виды проводов (зеленые и желтые должны наноситься только на тот блок, в котором мы разместили триггер, красный и синий нужно соединить с ячейкой памяти). Таким образом, мы не можем использовать провода, чтобы подвести к триггеру сигнал, по которому он будет переключаться. Его надо располагать непосредственно в том месте, где мы будем этот сигнал снимать, либо передавать сигнал через редстоун.

И есть еще одна тонкость — этот триггер, как и его аналог на редстоуне, по своей сути является колебательным контуром. Соответственно, он чувствителен к времени подачи сигнала. Т.е. в нашем случае — к времени прохождения предметов по сегменту трубы. Если это время будет достаточно длинным — он начнет переключаться из одного состояния в другие. Если же время будет, напротив, слишком коротким — гейт просто не успеет среагировать.

Поэтому важна скорость предметов. Вот условия, при которых гарантируется правильная работа триггера:

  • труба непосредственно под триггером должна быть золотой;
  • перед триггером не должно быть других золотых труб или иных подобных ускорителей.

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

Также триггер можно настроить, после замены соответствующего условия, не на предметы, а на сигнал редстоуна. Гарантируется его правильная работа от нажатия кнопки. В случае же использования панелей, а также — других источников с непостоянным временем сигнала, возможно повторное переключение триггера, если этот сигнал будет слишком длинным. В целом, условия его правильной работы такие же, как и у аналогичной конструкции из редстоуна. Разница лишь в размере.

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

В качестве примера использования Т-триггера можно назвать выведение новых видов пчёл. Для получения мутаций там требуется скрещивать два вида этих насекомых. Соответственно, в каждом новом цикле следует подавать трутней либо из из одного, либо из другого контейнера. В этом случае Т-триггер будет реагировать на прохождение пчелиной матки по трубе, переключая ячейку памяти, а контейнер с трутнями будет выбираться в зависимости от состояния этой ячейки. Конечно, прежде, чем пускать матку через триггер, следует убедиться, что она сменила свой вид... Но это уже не относится к применению гейтов.