Ячейка памяти используется для контроля зарядки энергохранилища из Thermal Expansion биогазовыми двигателями из Forestry: 1 — ячейка памяти, 2 — энергохранилище, 3 — гейты, запускающие двигатели. Сейчас двигатели включены.
Где такая ячейка может пригодиться?
Рассмотрим в качестве первого примера одно из самых насущных применений — зарядку энергохранилищ из Thermal Expansion двигателями из других модов. Если просто подключить двигатели с помощью любых энергетических труб, то, заполнив хранилище, они продолжат свою работу. Трубы из Buildcraft в результате переполнятся и взорвутся. Собственные трубы Thermal Expansion не взорвутся, но энергия будет уходить впустую. Как этого избежать?
Теперь при полной разрядке хранлилища двигатели будут включаться, а при полной зарядке выключаться. Что нам и требовалось.
Что касается поведения при перезагрузке сервера — то оно настраивается в И-гейте. Если он будет выдавать красный сигнал — такая перезагрузка начнет подзарядку хранилища, если синий — остановит её, если она была. Какой из этих вариантов выбрать — остается полностью на усмотрение игрока.
Ячейка памяти используется для обеспечения мультиферм Forestry минеральными удобрениями: 1 — ячейка памяти, 2 — сундук с удобрениями, 3 — труба от сундука к фермам, 4 — место подачи удобрения в первую ферму (гейт подает сигнал при нехватке удобрения или при нажатии на кнопку 6), 5 — труба, по которой удобрение возвращается в сундук, 6 — кнопка принудительной подачи удобрения, 7 — ферма с наибольшим расходом удобрений (древесная), 8 — остальные фермы.
Как можно видеть, сейчас начата подача удобрений в фермы. Ячейка памяти расположена таким образом, что И-гейт подает сигнал редстоуна на двигатель, извлекающий этот ресурс из сундука. ИЛИ-гейт же расположен на трубе, через которую осуществляется возврат удобрения. Когда оно там появится, ячейка переключится, а двигатель остановится.
Другой пример — поддержание устройств в работоспособном состоянии, за счёт подачи туда ресурсов.
Пусть у нас есть полный контейнер с ресурсами. И много устройств, в которых мы хотим поддерживать наличие этих ресурсов. Простейшая, ручная реализация без использования гейтов будет выглядеть так: мы выводим трубу из контейнера, ставим на входе редстоун-двигатель, к каждому устройству делаем ввод таким образом, чтобы, если в ней нет места, ресурсы шли дальше, к следующему устройству (это достигается алмазной трубой или, что предпочтительнее, вводящей трубой из Additional BuildCraft Objects). А в самом конце пути мы ставим железную трубу. Дойдя до неё, наши ресурсы развернутся и направятся обратно — туда, откуда пришли.
Эта схема хорошо работает с загрузкой удобрений в фермы и биореакторы Forestry, капсул в центрифуги и электролизёры GregTech и т. д. Но недостатком у неё является то, что ресурс всё время гуляет вперед-назад по трубе, вместо того, чтобы спокойно лежать в сундуке. Попробуем это исправить.
Очевидно, сигналом на включение системы должен быть сигнал о недостатке ресурса с того из устройств, которое тратит его быстрее других (для Forestry, например, это будет ферма деревьев). На выключение — тот факт, что ресурс заполнил все фермы и вернулся обратно. Чтобы различать это, поставим недалеко от нашего сундука алмазную трубу, которая будет ресурс, пришедший из сундука, направлять к фермам, а ресурс, пришедший от ферм — в другую трубу, на которой и будет находиться наша ячейка памяти (потом, разумеется, из неё он будет идти в тот же сундук).
Теперь осталось настроить синий сигнал на появление под ячейкой дропа, а красный — на нехватку ресурса в нашей ферме (или что там им снабжается). Разумеется, детектирование последнего осуществляется отдельным железным гейтом. После чего, как и в прошлом примере, подводим сигнал к двигателю — и наша конструкция готова.
Когда ресурс в устройстве будет заканчиваться (если есть возможность, целесообразно настраивать схему не на полное исчерпание ресурса, а скажем, на 10 %), двигатель включится и ресурс пойдет в трубу, заполняя все устройства. Когда он дойдет до конца и вернется обратно — двигатель выключится, переставая подавать в трубу новые ресурсы. Вскоре они все возвращаются обратно в сундук, где и остаются — до тех пор, пока нам не понадобится новая партия.
Эта страница содержит неактуальную информацию о контенте. Он был изменён в новых версиях игры. |
Следующая задача значительно сложнее. Вот у нас есть эта ячейка. И теперь мы хотим, чтобы она переключала свои состояния при каждом проходе какого-либо объекта по трубе. Проблема здесь в том, что мы не можем просто задать условие «если есть синий сигнал и прошёл объект по трубе, то включить красный и наоборот». Такая схема просто начнет быстро переключать сама себя и перейдет в режим «мигалки», из которого она сама уже не выйдет. Здесь необходима более сложная логика, и именно она приведена на рисунке ниже:
Как мы можем видеть, используется алмазный И-гейт. И задействованы все его выходы, один (точнее — два, настройки их входа должны быть идентичны) из которых и служит для детектирования предметов. Также задействованы все виды проводов (зелёные и жёлтые должны наноситься только на тот блок, в котором мы разместили триггер, красный и синий нужно соединить с ячейкой памяти). Таким образом, мы не можем использовать провода, чтобы подвести к триггеру сигнал, по которому он будет переключаться. Его надо располагать непосредственно в том месте, где мы будем этот сигнал снимать, либо передавать сигнал через редстоун.
И есть ещё одна тонкость — этот триггер, как и его аналог на редстоуне, по своей сути является колебательным контуром. Соответственно, он чувствителен к времени подачи сигнала. То есть в нашем случае — к времени прохождения предметов по сегменту трубы. Если это время будет достаточно длинным — он начнет переключаться из одного состояния в другие. Если же время будет, напротив, слишком коротким — гейт просто не успеет среагировать.
Поэтому важна скорость предметов. Вот условия, при которых гарантируется правильная работа триггера:
Для гарантированного обеспечения этих условий, за несколько клеток до триггера рекомендуется поставить промежуточный контейнер.
Также триггер можно настроить, после замены соответствующего условия, не на предметы, а на сигнал редстоуна. Гарантируется его правильная работа от нажатия кнопки. В случае же использования панелей, а также — других источников с непостоянным временем сигнала, возможно повторное переключение триггера, если этот сигнал будет слишком длинным. В целом, условия его правильной работы такие же, как и у аналогичной конструкции из редстоуна. Разница лишь в размере.
Т-триггер же, который правильно работает при любой длительности сигнала, в принципе, можно построить, основываясь на свойстве железных труб циклически менять направление выхода под воздействием редстоун-сигнала, но это будет весьма громоздкая конструкция, размерами вполне сравнимая с аналогичным устройством на поршнях. Только более дорогая в исполнении.
В качестве примера использования Т-триггера можно назвать выведение новых видов пчёл. Для получения мутаций там требуется скрещивать два вида этих насекомых. Соответственно, в каждом новом цикле следует подавать трутней либо из одного, либо из другого контейнера. В этом случае Т-триггер будет реагировать на прохождение пчелиной матки по трубе, переключая ячейку памяти, а контейнер с трутнями будет выбираться в зависимости от состояния этой ячейки. Конечно, прежде, чем пускать матку через триггер, следует убедиться, что она сменила свой вид… Но это уже не относится к применению гейтов.
Можно сделать индикатор, который срабатывает при выполнении условия(полный сундук\энергохранилище\печь\т.д.)