Маршрутизация - мощный инструмент для оптимизации, автоматизации и контроля за движением по железной дороге, добавляемый модификациейRailCraft. По сравнению со другими механизмами и системами, добавляемыми этим модом, построение маршрутов не очень ресурсозатратно, а потому доступно. Но оно требует некоторого знания булевой алгебры и логики работы редстоуна.
Сделайте свою железную дорогу безопасной. Постройте основание из прочных блоков, осветите её, а в местах прохождения по поверхности огородите забором. Если вы не хотите мешать обзору проезжающих пассажиров, огородите вместо забора стеклянными панелями или железной решёткой в 2 блока высотой или просто поднимите дорогу над землёй.
Пока что маршрутизация поддерживается только паровыми локомотивами, поэтому приготовьте запас угля и воды. Но вы также можете использовать локомотивы из модификации Traincraft. В ближайшее время планируется добавление электрических локомотивов.
Максимальная скорость паровых локомотивов на высокоскоростных и обычных путях одинаковая, так что если вы не планируете разгонять поезда ускоряющими путями, то смысла строить дорогу из скоростных путей нет, да и скорость локомотива и так достаточная. Если вы всё же решили построить высокоскоростную магистраль, то см.соответствующую статью.
Компоненты, которые понадобятся при постройке (кроме рельсов):
Обычная железная дорога чаще всего устроена так, что вам нужно останавливаться на каждой станции, ведь никто не знает, какая станция вам нужна, и перед каждой развилкой, чтобы выбрать направление движения. Суть машрутизации состоит в том, чтобы заранее выбрать маршрут движения, записав место назначения в "памяти" локомотива, и сэкономить таким образом время, не прокладывая сверхдлинных цепей красного камня вдоль линии.
Основными устройствами являются маршрутный детектор и маршрутный стрелочный электромотор. Первый подаёт сигнал красного камня, а второй переводит находящийся рядом стрелочный путь согласно установленной в нём таблице маршрутизации. Подробнее см. соответствующую статью.
Практическое применение
Заправка локомотивов
Поскольку паровозы довольно прожорливы, то вам придётся часто их заправлять. Этот процесс лучше автоматизировать, это несложно. Для начала строим ответвление от основной дороги, как на скриншоте: Далее устанавливаем устройства для заправки водой и топливом:
Если у вас установлен BuildCraft, то просто подключаем помпу трубами к загрузчику жидкостей, который размещаем над путями (или на 1 блок выше), а снизу ставим блокирующий путь в режиме "Holding mode".
Если BuildCraft'а нет, то лучшим способом будет поставить над загрузчиком водонапорную башню или резервуар, куда будет стекать вода из нескольких башен (у резервуара над загрузчиком должен находиться клапан). Этот способ накопления воды медленнее, но тоже подойдёт.
Для заправки топливом нужен загрузчик предметов или его улучшенная версия. Топливо (например, уголь) можно подавать с помощью воронок. Под загрузчиком также ставим блокирующий путь.
Основа заправочной станции готова.
И самая главная часть - автоматизация. С той стороны, откуда презжают поезда, поставьте у стрелки маршрутный электромотор и вставьте в него таблицу маршрутизации, предварительно написав в ней:
NeedsRefuel=true
Если дорога одноколейная, поставьте то же и с другой стороны. Электромотор будет автоматически отправлять на заправку проезжающие локомотивы, если у них кончается топливо и/или вода.[1]
Организация вилочного движения
Возможно, на вашей дороге есть дополнительная ветка, но ответвление расположено вдали от станций. Вы можете задать маршрут на предыдущей перед развилкой станции с каждой стороны. У вас может быть два основных варианта развилки - с возможностью въезда на ветку с двух или с одной стороны (направленные детекторы не обязательны, они просто показывают предполагаемое направление движения; ответвление уходит вверх):
Для маршрутизации вам нужно как-то назвать ветку, а при подключении с двух сторон ещё и обе части главной линии (слева и справа от соединения). В примере это Branch_1, main_l и main_r, но вы можете назвать их как угодно, заменив все названия в примере на свои.
На предыдущей перед развилкой станции (на главной линии) поставьте два маршрутных пути и положите в интерфейс ближнего к ветке золотой билет, записав в нём "Branch_1" (без кавычек).
Рядом с этим путём поставьте рычаг и табличку, объясняющую, что включение рычага означает следование по ответвлению.
Под дальний от ветки путь поставьте красный факел. В него положите пустой (золотой) билет.
При соединении с двух сторон сделайте то же и на другой станции.
Установите у стрелки маршрутный электромотор и в таблице маршрутизации запишите:
Dest=Branch_1
Если у вас соединение с двух сторон, то на предыдущей станции со стороны ответвления сделайте то же, но в постоянно активированный путь положите билет с записью "main_l", а в тот, что с рычагом - с записью "main_r". Если по умолчанию стрелка отправляет поезд налево, таблице в электромоторе запишите
Dest=main_r
А если направо, то
Dest=main_l
Готово! Теперь при остановке на станции вы можете заранее нажать рычаг и автоматически повернуть на ответвление, которое может находиться за сотни блоков, не прокладывая длинных цепей красного камня.
Подключение частной ветки к общественной железной дороге
Ваш дом стоит слишком далеко от железной дороги, и вы хотите проложить себе отдельную ветку, но не хотите, чтобы непрошеные гости заявлялись к вам домой через вашу станцию? Это решение для вас!
Оборудуйте ответвление, как в предыдущем примере; на станциях ничего устанавливать не нужно!
В таблицах маршрутизации (в маршрутных электромоторах) запишите:
Owner=Ваш_ник_в_игре
Разветвление при следовании с вашей станции на основную ветку можно автоматизировать, как в предыдущем примере, а можно просто поставить стрелочный рычаг, чтобы выбирать направление, блокирующий путь в режиме "Train holding mode" и рядом с ним кнопку.
Теперь все локомотивы, которые принадлежат вам (которые вы установили), будут автоматически заезжать к вам домой, а все остальные проезажть мимо.
Вы также можете немного усовершенствовать систему, что позволит вам обмениваться ресурсами с друзьями по общественной железной дороге (в мультиплеере). Для этого просто допишите в таблице (каждый раз на отдельной строчке)
Owner=Ник_вашего_друга
Тогда этот друг тоже сможет к вам заезжать.
Продвинутые примеры
Оптимизация железной дороги/метро
На обычной железной дороге вам нужно останавливаться на каждой станции, чтобы не проехать нужную. Главное во всех нижеописанных способа то, что игрок заранее выбирает нужную станцию, нажимая кнопки, и без остановки проезжает все остальные. С маршрутизацией вы можете не только сэкономить время на остановках, но и разнести отдельные станции дальше от линии, не теряя времени на проезд вынесенного участка транзитом туда/обратно для каждой такой станции.
Принцип ожидания
Суть принципа: на линии есть несколько свободных поездов, которые заезжают на все станции. Игрок приходит на станцию и ожидает поезда, выбирает место назначения, после чего поезд везёт его прямо до нужной станции, минуя все остальные. После этого место назначения снова сбрасывается, и поезд продолжает ездить в обычном режиме.
Плюсы:
Прост для понимания
Прост в реализации (нужна только система выбора маршрута)
Простое сторительство станций
Не нужно много поездов
Минусы:
На проезд пустых поездов тратится много топлива
Время ожидания может быть довольно велико
Вывод: для небольших веток. Помните, что экономия при строительстве может обернуться большим расходом топлива.
Принцип закреплённых поездов
Суть принципа: на каждой станции есть несколько закреплённых за этой станцией поездов. Игрок приходит на станцию, выбирает маршрут, вызывает поезд и едет до нужной станции, после чего поезд возвращается обратно, система находит его по окраске локомотива (у каждой станции есть цвет локомотива, соответствующий этой станции). Всего есть 16*16=256 комбинаций цветов, т.е. на одной линии может быть до 256 станций. Для оптимальной работы стоит держать на одной станции больше двух поездов. Плюсы:
Прост для понимания
Не нужно ждать поезда
Сразу после ухода одного поезда можно сесть на следующий
Наиболее удобен для пассажиров
Минусы:
Нетривиален в реализации
Нужно много поездов
Станции занимают много места
На возвращение поезда тратися топливо
Вывод: удобен, но сложен в рализации. Для фанатов редстоуна и огромных транспортных систем.
Принцип подмены
Этот принцип объединяет в себе оба предыдущих Суть принципа: на каждой станции есть один зарезервированный поезд, но кроме того, есть несколько (возможно, 1) дополнительных поездов, которые курсирую по линии, не заезжая на станции. Игрок выбирает маршрут, вызывает поезд и уезжает, а свободное место зарезервированного занимает первый пустой проезжающий поезд (дополнительный), подменяя его. После того как игрок выходит с поезда, тот становится дополнительным заменяя оставшийся на станции отправления. Плюсы:
Чаще всего не нужно ждать поезда
Подменяющий поезд приходит быстрее
Экономия топлива и ресурсов
Не очень сложен в реализации
Поездов может быть не очень много
Потенциальная экономия топлива при отсутствии дополнительных поездов
или
Экономия времени на возврат за счет траты топлива доп. поездами
Минусы:
Непрост в понимании
Поездов должно быть больше, чем станций
Вывод: оптимальный способ для систем среднего размера и пассажиропотока, например серверного метро.
Примечания
↑NeedsRefuel означает, что необходима дозаправка, а конкретно, что осталось меньше четверти котла воды (1.5 ведра) или меньше 16 предметов в основном слоте топлива