Мод для рельс. Как реализовать?

Версия Minecraft
1.20.4
API
Fabric
1
0
Пишу мод. Думаю, как реализовать следующую вещь. Есть обычный железнодорожный путь из обычных ванильных рельс. В начало и в конец пути ставятся по одному специальному блоку рельс (т.е. добавленные через мод). Мод, в свою очередь, должен проверять, что действительно между двумя этими специальными блоками рельс идет неразрывный путь. Если это так, то выполняется какое-то действие.
Интересует, каким образом можно сделать проверку на целостность пути. В голову пришло циклом проверять блоки рядом со специальным рельсом. Если обнаруживается блок обычных рельс, то "сдвигаемся" на него, и проверяем уже блоки вокруг него, находим следующий рельс и т.д., пока не дойдем до конца пути (на конце должен стоять специальный блок рельс). Таким образом можно еще подсчитать длину пути и примерную длительность поездки на вагонетке. Чем-то похоже на мод IndustrialCraft, но вместо проводов здесь рельсы.
Из этого всего пока четко понимаю только то, как добавить в игру блок рельс. А вот как реализовать логику проверки пути - не особо представляю. Может можете вы что-то посоветовать? Хотя бы где брать инфу для реализации такого?
 
Последнее редактирование:
437
41
110
Если обнаруживается блок обычных рельс, то "сдвигаемся" на него, и проверяем уже блоки вокруг него, находим следующий рельс и т.д., пока не дойдем до конца пути
Вполне нормальный алгоритм действий, его можно улучшить примерно так:
1) Не запрашивать каждый раз чанк - это дорогая операция, запрашивай чанк, и бери с него блоки (и простая бинарная проверка, на нахождение позиции в текущем чанке)
2) ,,Специальные блоки рельс,, сделать tile-entity, чтобы сохранять маршрут
3) При установке блока рельс, запускать сканирование, и во все специальные блоки записать маршрут
4) При поломке - аналогично
 
Сверху