BuildCraft2 (1.8.9) — Роботы

BuildCraft - гайд по роботам

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

Создание робота и его подготовка

Сборка робота.

  1. Создать красный кристалл на сборочном столе из блока красного камня. Требует 10 000 000 RF. Используем для сборки остова робота.
  2. Создаем красную плату и программируем ее в столе для программирования. В левый верхний слот помещаем красную плату в списке справа выбираем нужную специализацию будущего робота. Слева внизу появится готовая плата.
  3. В столе интеграции монтируем плату в остов робота. В средний слот кладем остов, в любой из восьми соседних слотов — плату. Справа появится готовый робот.

Определение области работы.

Каждый тип роботов занимается узким родом занятий и к каждому из них нужно иметь свой подход. Одним из моментов является установка зона работы. Конечно, можно ее не указывать, но в итоге начнется анархия. Если для копателя сразу понятно, что нужны уточнения в территории раскопок, то в случае для сборщика, охранника или носильщика может оказаться не очевидным. Без уточнения роботы будут улетать «куда глаза глядят» в поиске работы. Например, можно поставить робота-охранника без определенной зоны действия, но тогда не удивляйтесь, если найдете его «бездыханное» тело в соседнем лесу среди кучи довольных монстров. Сборщик улетит за какой-нибудь курицей для сбора яиц, а носильщик начнет «тырить» нужное сырье с соседнего производства.

Для определения области работы есть 3 метода.

  1. Возьмите карту расположения  и кликните ПКМ по любому блоку. На карту будет записана координата этого блока. Конечно поле на такой площади не вспашешь, но это крайне удобный способ показать роботу, где находятся важные объекты. К примеру показать склад с инструментами.
  2. Используя метки, установите область, в которой должна проводиться работа. Территорию не обязательно ограничивать по высоте. Когда метки будут объединены в целую фигуру (соединены красной линией). Кликните ПКМ картой расположения по метке для записи информации об расположении зоны.
  3. Третий метод основан на работе планировщика зон и позволяет создать более сложную форму с огромной площадью. Возможности оборудования:
    • В устройстве отображена карта местности. Зажатая ЛКМ выделят область для будущих работ. Кол-во выделенных областей не ограничено. Колесико мыши изменит масштаб, а нажатие ПКМ изменит положение карты.
    • Для удаления области нажмите клавишу «+» под картой. Этот режим будет удалять область, выделяемую ЛКМ.
    • Клавиша «FS» (FullScreen) увеличит карту до размера экрана. ESC отключит режим.
    • В строке ввода снизу можно задать имя. Используя карту , сам предмет не пропадает. Поэтому рекомендую всегда указывать название, что бы легко ориентироваться в накопленном ассортименте зон.
    • Для записи информации о зоне положите  карту в верхний правый слот.
    • Если нужно отредактировать уже записанную территорию, то положите использованную карту в левый нижний слот. Установка прочитает карту и выведет ее на карту.

В результате появится записанная карта. Об ее применении можно прочитать в примере далее.

Робот без дома — деньги на ветер.

Кинуть робота на траву и накрыть его картой не достаточно. Каждому роботу нужно свое собственное место, где они будут ожидать появления работы и принимать указания. Таким местом является док-станция. На ней робот «сидит», когда нет работы или для подзарядки. Установить станцию можно на любой тип труб в том числе на структурную трубу. Станция может быть и сбоку и снизу от трубы, не беспокойтесь о роботе, он удержится на ней. Для снятия нажать ПКМ+Shift. Важно понимать, что на каждого робота приходится как минимум одна личная станция. Другие роботы не смогут ей пользоваться.

Робот требует питания.

Без энергии робот не взлетит и тем более не начнет работать. Для этого предназначен стол подзарядки. Как и другие столы, устанавливаете рядом с лазерами и помещаете туда робота. После сборки нового робота такой способ зарядки нормален, но для уже работающих роботов это плохое решение. Чтобы не думать о питании вашего штата роботов, установите док-станцию на любую энергетическую трубу с источником питания и проследите за тем, что бы эта станция была в зоне видимости роботов и входила в зону работы. Любой «работник» с низким зарядом заблаговременно отправится для подзарядки. Сразу подумайте о нескольких точках зарядки, т.к. пока один робот занимает эту точку, другой может замертво упасть в поле не дождавшись обеда.

Как заставить его работать?

Если все приготовления соблюдены, то остается только установить изумрудный или кварцевый гейт на трубу с док-станцией. Можно использовать и другие гейты, но они имеют не полный набор функций. Для запуска робота понадобится поставить условие, в результате которого будет действие «Работать в области». После этого робот уже готов лететь куда глаза глядят, но что бы его не потерять, задайте в соседнем фильтре уточнение с помощью карты расположения. Скорее всего, этого будет мало т.к. большинству нужны ресурсы и инструменты. Что бы робот их нашел, нужно установить док-станцию (можно использовать личную станцию робота, но другие не смогут ее использовать) в зоне действия и в гейте около этой станции указать условие с действием «Предоставить предметы». Этого действия может не быть, если труба не извлекающая. Деревянные двигатели и автоматические гейты не нужны.

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

PS: Можно вообще не использовать гейт и робот начнет свою работу. Но в этой ситуации не удивляйтесь потере робота и странному поведению.

Мне попался ленивый робот! Он уснул?

Вот вы смотрите как робот исполняет свой долг. В некоторые мгновения может прокрасться мысль о том, что он «подтупливает», тормозит или даже спит. И последний вариант будет не далеко от истины. Если робот не видит для себя работы, то он летит домой и засыпает. Этот сон прерывается раз в несколько секунд для проверки работы. «Ее нет? Тогда еще посплю…». Эта концепция облегчает нагрузку на игру клиента или серверной части. Что же делать со сном?

  • Вручную повторно спровоцировать выполнение условия (если зависят от красного сигнала, то выключить и включить его снова).
  • Выполнить действие внутри гейта: «Разбудить». Это насильный способ заставить робота проверить наличие работы. Постоянное включение этого действия добавит клиенту нагрузки, но кто вас остановит!?

Подытожим:

  1. Если робот заснул, то для него недостаточно работы и возможно стоит лучше его нагрузить.
  2. Если нужно срочно его разбудить для той же защиты дома от монстров, то можно использовать действие «Разбудить» в сочетании с каким-нибудь датчиком монстров.
  3. Хотите постоянно будить робота? А нужно ли это? Он сам проснется через несколько секунд и сделает то, что должен.
  4. Интересно как много роботов халтурят и ждут своей работы? Есть условие, которое срабатывает при засыпании робота: «Сон». Как его применить, придумайте сами.

Пример: лесозаготовка

Задачи, которые будет выполнять лесопилка:

  1. Лесопосадка из нескольких разновидностей деревьев.
  2. Постоянная рубка деревьев.
  3. Сбор всех материалов и распределение по сундукам.

Подготовка

На территории лесопилки должны быть:

  • Место для зарядки роботов.
  • Сундук с саженцами.
  • Сундук с топорами (инструменты из модов могут не подойти)
  • Склад для ресурсов.
  • Док-станции с гейтами у каждого сундука.

1 — Высадка саженцев

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

  1. Определяем область работы (зоны высадки саженцев). Если собираемся сажать разные виды деревьев на разных участках, то указываем один из таких участков.
  2. Труба с док-станцией должна предоставить ресурсы. В данной ситуации подразумевается, что в сундуке есть саженцы для посадки. Эту настройку можно указать на отдельной док-станции, где хранятся саженцы.
  3. Указываем фильтр — саженцы березы. Такая настройка запрещает взаимодействовать с другими растениями. В данной ситуации нужно для того, чтобы разбить лесопосадку на несколько секций с разными видами деревьев.
  4. Перемещение на станцию в случае отключения лесопилки. Важный параметр, т.к. без него робот скорее продолжит заниматься своими насущными делами, чем вернется домой.

Результат: робот будет брать саженцы березы из сундука рядом с собой, и высаживать их в зоне из первого пункта. Установив для каждой секции лесопилки своего робота со своим типом саженцев и своей зоной работы, мы получим лесопосадку с разнообразными деревьями. Если хочется сделать более красивую посадку, а не в виде сплошного поля, то можно «разбавить» почву рядами из песка или другого материала, на котором нельзя посадить деревья.

Настройки гейта для высаживания леса

2 — Рубка леса

Деревья выросли, а значит, пора их валить. С этой работой справляется робот-дровосек. Он использует топоры и рубит все блоки бревен (листья игнорирует).

  1. Определяем область работы. Для лесоруба это все секции лесопосадки.
  2. Можно впритык поставить сундук с топорами, как у сажальщика с саженцами. Но предположим, что склад с инструментами находится далеко, и вы им пользуетесь сами (хотя это не рационально из-за затрат на время и топливо для полетов к складу). В этой ситуации склад не находится в зоне работы робота. Для решения этой задачи можно:
    • Указать в планировщике зон кроме территории лесопилки еще и территорию склада. Не удивляйтесь, если вдруг робот что то там срубит.
    • Более элегантный способ — добавить действие «Загружать/разгружать в области» как на картинке ниже. Это действие позволяет отдельно указать зону, в которой робот должен забирать или сбрасывать предметы.
  3. Действие «Фильтрующий» инструмент позволит уточнить вид инструмента для работы. Это нужно не для того, что бы сказать роботу — «Пользуйся топорами.», а сообщить «Пользуйся только каменными топорами!». Это спасет алмазные и железные топоры от использования, если таковые есть.
  4. Все то же требование вернуться обратно при отключении лесопилки.

Настройки гейта для ребки леса

3 — Сбор сырья

Лес вырос, лес срублен, лес не собран. К сожалению, в функции роботов, которые ломают и добывают ресурсы, не входит сбор всего выпавшего добра. Этим занимаются роботы-сборщики. Начнем с док-станции самого робота.

  1. По традиции указываем зону работы. Учитывая то, что выпадение предметов — обычное дело, сборщик без зоны работы может как сумасшедший слоняться по округе собирая яйца куриц, ресурсы с других производств или инструменты/механизмы, которые вы только что разобрали. Рекомендуется увеличить территорию работы на несколько блоков, т.к. материалы могут отлететь на некоторое расстояние.
  2. При желании можно указать предметы/список  предметов в фильтре для более точной работы. Если во всех сундуках указаны конкретные предметы для приема, то бедный робот свихнется в попытках куда-то деть то самое злосчастное куриное яйцо.
  3. Дополнительно указываем места «сброса» ресурсов (сундук саженцев и общий склад).
  4. Отзываем робота на станцию во время отключения.

Настройки гейта для сборщика

Теперь рассмотрим гейт на трубе сундука с саженцами (где сидят все роботы-сажатели). Речь идет именно об отдельной трубе для приема саженцев.

  1. Так как в этом сундуке нужны только саженцы и только для посадки, указываем действие «принимать предметы» (саженцы) и условие «содержит <25%». Тогда при достаточном кол-ве саженцев одного типа (>25%) труба перестанет их принимать и единственным местом для приема останется основной склад.
  2. Важно указать для каждого типа свое условие. Иначе ресурсы будут перенаправлены только при накоплении всех видов.

Настройки гейта для приема ресурсов

Остается только док-станция на складе. Условие просто: если есть свободное место, то следует принимать ресурсы из списка (саженцы, яблоки, бревна и прочие). Можно дополнительно создать условие, которое при полном заполнении склада отправит сигнал об отключении лесопилки (наличие красного сигнала для всех роботов из этого примера заставит их работать, а его исчезновение потребует возврат на станцию).

Настройки гейта для приема ресурсов на складе

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

Таблица роботов

 Дровосек — рубит блоки бревен у деревьев. Требует топор для работы.
Землекоп — копает рыхлые блоки (земля, песок, гравий и пр.). Требует лопату для работы.
Мясник — убивает животных. Требует меч для работы. ВНИМАНИЕ! Робот не различает молодых и взрослых особей. По этой причине нужно заведомо побеспокоится о способе забоя или создать отдельное помещение для разведения.

  1. Попробуйте использовать датчики из других модов для определения популяции. Если животных больше чем N особей, то включаем робота. Но это не спасет от убийства детенышей.
  2. Создайте помещение для разведения животных. Используя рельсы, вагонетки и датчики RailCraft для отбора молодых особей из этого помещения и расположите их в отдельном месте для выращивания. Таким же образом отбираем из второй комнаты всех взрослых животных и отправляем на убой.
Носильщик — работает схожим образом с роботом-разносчиком. Он обнаруживает все док-станции, где принимают какие-либо предметы (действие: «Принимать предметы») и пытается их найти в док-станциях с действием «Предоставить предметы».
Полосатый — работает как активная труба: пытается любой предмет применить(ПКМ) на что попало. ВНИМАНИЕ! Робот выбрасывает инструмент после использования.

Для точной работы нужно:

  1. Указать конкретный инструмент в гейте на док-станции робота. К примеру, ножницы для стрижки овец.
  2. Указать точную координату работы (лучше одиночным маркером). В случае той же овцы это будет загон 1х1.
Помпа — закачивает блоки жидкости и доставляет их до жидкостных труб как робот-резервуар.
Разносчик — ищет док-станции с действием «Запросить предметы» и если условие выполнено, то приносит предметы, указанные в фильтре справа. Забирает ресурсы из любого места, где есть активное действие «Предоставить предметы». Робот похож на носильщика, но реагирует только на запросы.
Резервуар — транспортирует жидкость от одной трубы к другой.
Рыцарь — убивает монстров. Требует для работы меч.
Садовник — состригает блоки листьев. Требует для работы ножницы.
Сажальщик — высаживает семена, саженцы, морковь и прочую растительность в почву. Вспахивать землю робот не умеет. Для этого создан робот-фермер.
Сборщик — ищет предметы, подбирает и складывает их в любую трубу с действием «Принимать предметы».
Собиратель — выдергивает готовый урожай (пшеница, морковь, картошка и пр.).
Строитель — возводит конструкции по чертежу.
Фермер — вспахивает блоки земли. Требует для работы мотыгу. Заранее разместите воду на ферме от засыхания.
Шахтер — разбивает блоки руды, не трогая камень и другую породу. Требует кирку для работы. Её качество (материал) так же влияет на то, какую руду сможет добыть робот. Крайне полезен для добычи залежей из мода GregTech. Огромные жилы дают много работы для робота без метаний по извилистым пещерам
Бомбометатель — Скидывает динамит в случайное место на земле и подрывает его. Требует блок TNT.