
🚂 Create: Railway Evolution
Smart AI traffic control and collision avoidance for Create trains. No signals needed.
Умное управление движением поездов Create с помощью ИИ. Без необходимости устанавливать сигналы.
Railway Evolution gives every train on your network its own AI-driven traffic controller. Trains detect obstacles, negotiate right-of-way, manage junctions, and react to other trains to keep your railway network moving without constant player intervention.
Railway Evolution наделяет каждый поезд в вашей сети собственной системой управления движением на основе ИИ. Поезда обнаруживают препятствия, определяют приоритет проезда, управляют движением на перекрёстках и реагируют на другие составы, поддерживая движение без постоянного вмешательства игрока.
No more unnecessary stops. Fewer deadlocks. Smarter railways.
Меньше ненужных остановок. Меньше взаимных блокировок. Более умные железные дороги.
🚂 AI Collision Avoidance in Action / ИИ предотвращает столкновения
Autonomous AI-driven trains detect nearby traffic and react to potential collisions. / Автономные ИИ-поезда обнаруживают другие составы и реагируют на потенциальные столкновения.
🚂 Intelligent Junction Management / Умное управление перекрёстками
Trains coordinate right-of-way at junctions and crossings, helping prevent traffic conflicts and deadlocks. / Поезда согласовывают очерёдность проезда на стрелках и перекрёстках, помогая предотвращать конфликты и взаимные блокировки.
🛡️ Player Safety First / Безопасность игроков
Entity detection helps trains react to players on the tracks and avoid dangerous situations. / Обнаружение сущностей помогает поездам реагировать на игроков на путях и избегать опасных ситуаций.
✨ What Is Railway Evolution? / Что такое Railway Evolution?
Railway Evolution brings intelligent traffic management to Create trains. Instead of relying entirely on conventional railway signals and constant player supervision, trains use AI-driven logic to detect nearby traffic, evaluate potential obstacles, and coordinate their movement.
The system includes obstacle detection, graduated braking, train prioritization, virtual block management, and junction conflict resolution. When conditions allow, trains can respond to blocked routes and attempt to recover from certain traffic situations automatically.
Railway Evolution добавляет интеллектуальное управление движением поездов в Create. Вместо полной зависимости от обычных железнодорожных сигналов и постоянного контроля игрока поезда используют логику на основе ИИ для обнаружения других составов, оценки препятствий и координации движения.
Система включает обнаружение препятствий, плавное торможение, приоритеты поездов, виртуальные блокировки и разрешение конфликтов на перекрёстках. При подходящих условиях поезда могут реагировать на заблокированные маршруты и автоматически восстанавливаться после определённых дорожных ситуаций.
Less micromanagement. More automation. Better railway networks.
Меньше ручного управления. Больше автоматизации. Более эффективные железнодорожные сети.
✨ Key Features / Ключевые особенности
- AI-Powered Traffic Management / Управление движением на основе ИИ: Trains independently detect nearby traffic and coordinate their movements. / Поезда самостоятельно обнаруживают другие составы и координируют движение.
- Collision Avoidance / Предотвращение столкновений: Obstacle detection and intelligent braking help reduce the risk of train collisions. / Обнаружение препятствий и интеллектуальное торможение помогают снизить риск столкновений.
- Smart Junction Management / Умное управление перекрёстками: Trains determine right-of-way and coordinate passage through junctions. / Поезда определяют приоритет проезда и согласовывают движение на перекрёстках.
- Smooth Graduated Braking / Плавное торможение: Trains adjust their braking behavior according to the distance to detected obstacles. / Поезда регулируют торможение в зависимости от расстояния до обнаруженных препятствий.
- Train Priority System / Система приоритетов поездов: Traffic conflicts are handled using train priorities and right-of-way logic. / Конфликты движения обрабатываются с учётом приоритетов и правил проезда.
- Virtual Block System (VBS) / Система виртуальных блокировок: Helps AI controllers coordinate train movement and manage reservations. / Помогает контроллерам ИИ координировать движение поездов и управлять резервациями.
- Parallel Track Awareness / Распознавание параллельных путей: Improved detection logic helps prevent unrelated trains on neighboring tracks from unnecessarily blocking a clear route. / Улучшенная логика обнаружения помогает предотвращать ненужные остановки из-за составов на соседних путях.
- Navigation Recovery / Восстановление навигации: Recovery logic helps trains resume movement after certain stuck or blocked states. / Механизмы восстановления помогают поездам возобновлять движение после определённых ситуаций с застреванием или блокировкой.
- Player-Controlled Train Awareness / Распознавание поездов под управлением игрока: AI controllers account for player-controlled trains when evaluating traffic. / Контроллеры ИИ учитывают поезда под управлением игрока при оценке движения.
Actual behavior and feature availability may vary between Minecraft versions and releases. / Реальное поведение и доступность функций могут различаться между версиями Minecraft и выпусками мода.
🤖 AI-Assisted Development / Разработка с использованием ИИ
Important: The Forge 1.20.1 version is developed with AI assistance.
The Forge 1.20.1 edition of Create: Railway Evolution is returning to active development using an AI-assisted workflow. Artificial intelligence tools help with code analysis, implementation, debugging, and investigating complex issues related to train AI and navigation.
The project is directed by Fizzy_lovely (1xCodeTeam). AI is used as a development tool to assist with programming tasks, while the development goals, requested changes, and direction of the project are determined by the developer.
AI-assisted development is not a guarantee of error-free code. Changes still require verification, testing, and refinement, and community bug reports remain an important part of improving this version.
/ Важно: версия для Forge 1.20.1 разрабатывается с использованием ИИ.
Версия Create: Railway Evolution для Forge 1.20.1 возвращается к активной разработке с применением ИИ в процессе программирования. Инструменты искусственного интеллекта помогают анализировать код, реализовывать изменения, искать ошибки и исследовать сложные проблемы, связанные с поездным ИИ и навигацией.
Разработкой руководит Fizzy_lovely (1xCodeTeam). ИИ используется как инструмент для решения задач программирования, а цели, необходимые изменения и направление развития проекта определяет разработчик.
Использование ИИ не гарантирует отсутствия ошибок в коде. Изменения требуют проверки, тестирования и доработки, а сообщения об ошибках от сообщества остаются важной частью улучшения этой версии.
This AI-assisted development notice specifically applies to the Forge 1.20.1 development branch.
Это уведомление об использовании ИИ относится именно к разрабатываемой ветке Forge 1.20.1.
⚙️ Supported Versions / Поддерживаемые версии
- Forge 1.20.1 — Active Development / Активная разработка
- Forge 1.19.2 — Legacy Support / Ограниченная поддержка
- Forge 1.18.2 — Legacy Support / Ограниченная поддержка
- NeoForge 1.21.1 — Main Development Branch / Основная ветка разработки
🔥 Forge 1.20.1 Is Back! / Forge 1.20.1 возвращается!
The Forge 1.20.1 version is returning to active development after a period of limited support. This branch uses AI-assisted development and focuses on improving train behavior, resolving bugs, increasing stability, and maintaining compatibility with the relevant Create version.
The goal is to continue improving the 1.20.1 experience rather than leaving it permanently in maintenance mode.
Версия для Forge 1.20.1 возвращается к активной разработке после периода ограниченной поддержки. Эта ветка разрабатывается с использованием ИИ. Основные направления работы — улучшение поведения поездов, исправление ошибок, повышение стабильности и поддержание совместимости с соответствующей версией Create.
Цель — продолжить развитие версии 1.20.1, а не оставлять её навсегда в режиме ограниченной поддержки.
Main Development Branch / Основная ветка разработки
NeoForge 1.21.1 remains the main development branch for the latest generation of Railway Evolution. Features, fixes, and development schedules may differ between this branch and Forge 1.20.1.
NeoForge 1.21.1 остаётся основной веткой разработки новой версии Railway Evolution. Набор функций, исправления и график разработки могут отличаться от ветки Forge 1.20.1.
Legacy Versions / Старые версии
Forge 1.19.2 and Forge 1.18.2 remain in maintenance mode. Updates may be released occasionally when necessary, but regular feature development is not guaranteed.
Forge 1.19.2 и Forge 1.18.2 остаются в режиме ограниченной поддержки. При необходимости могут выходить отдельные обновления, однако регулярный выпуск новых функций не гарантируется.
Compatibility Notice / Примечание о совместимости:
Always check the individual release file for its Minecraft version, mod loader, and required Create version before installing. Do not assume that every feature or command is available in every branch.
Перед установкой всегда проверяйте версию Minecraft, загрузчик модов и требуемую версию Create в описании конкретного файла. Не все функции и команды обязательно доступны во всех ветках.
🖥️ Commands / Команды
Use /railway or /railwayai to manage the mod.
Используйте /railway или /railwayai для управления модом.
General Commands / Основные команды
-
/railway- EN: Displays AI status, the train list, VBS activity, and settings. Public command.
- RU: Показывает состояние ИИ, список поездов, активность VBS и настройки. Доступно всем игрокам.
-
/railway reload- EN: Restarts the AI Manager and triggers a full world scan. Operator only.
- RU: Перезапускает AI Manager и запускает полное сканирование мира. Только для операторов.
-
/railway release- EN: Attempts to release path reservations held by stuck trains. Operator only.
- RU: Пытается освободить резервации путей, удерживаемые застрявшими поездами. Только для операторов.
-
/railway log <true|false>- EN: Enables or disables AI debug logging in the server console. Operator only.
- RU: Включает или отключает отладочное логирование ИИ в консоли сервера. Только для операторов.
-
/railway safe-mode <true|false>- EN: Toggles train reactions to players on the tracks. Operator only.
- RU: Включает или отключает реакцию поездов на игроков на путях. Только для операторов.
-
/railway infinity <true|false>- EN: Toggles supported Create limit modifications, including configured track, train, bogey, and block limits. Operator only.
- RU: Включает или отключает поддерживаемые изменения лимитов Create, включая настроенные лимиты путей, поездов, тележек и блоков. Только для операторов.
🛠 Braking Settings / Настройки торможения
-
/railway braking- EN: Displays the current braking parameters.
- RU: Показывает текущие параметры торможения.
-
/railway braking distance <5-200>- EN: Sets the obstacle scanning distance in blocks.
- RU: Устанавливает дистанцию сканирования препятствий в блоках.
-
/railway braking sharpness <1-10>- EN: Adjusts the braking stop threshold.
- RU: Настраивает порог торможения.
Command availability and behavior may differ between releases. / Наличие и поведение команд могут различаться между выпусками мода.
🛠 Technical Information / Техническая информация
Railway Evolution combines spatial awareness, real-time obstacle detection, train prioritization, virtual block management, and navigation recovery to coordinate automated railway traffic.
The AI controller evaluates nearby trains and potential obstacles, applies braking logic, and manages traffic conflicts. The objective is to improve the reliability of automated railway networks while reducing unnecessary stops and interference between trains on separate tracks.
Railway Evolution объединяет пространственный анализ, обнаружение препятствий в реальном времени, систему приоритетов поездов, управление виртуальными блокировками и восстановление навигации для координации автоматизированного движения.
Контроллер ИИ оценивает расположение других поездов и возможных препятствий, применяет логику торможения и управляет дорожными конфликтами. Цель — повысить надёжность автоматизированных железнодорожных сетей и уменьшить количество ненужных остановок и помех между составами на разных путях.
🎥 For Content Creators / Для авторов контента
If you are recording a review, showcase, or gameplay video featuring Railway Evolution, I would love to see it!
If you encounter unexpected train behavior, deadlocks, or other bugs during your recording, please provide detailed feedback and steps to reproduce the issue whenever possible.
Если вы записываете обзор, демонстрацию или видео с игровым процессом Railway Evolution, я буду рад его увидеть!
Если во время записи вы столкнётесь с необычным поведением поездов, взаимными блокировками или другими ошибками, пожалуйста, по возможности предоставьте подробное описание и шаги для воспроизведения проблемы.
🐞 Support & Bug Reports / Поддержка и сообщения об ошибках
This project is developed by Fizzy_lovely (1xCodeTeam).
Your feedback is invaluable! If you encounter any issues, please report them through the project's GitHub Issues page:
When reporting a bug, please include:
- Minecraft version and mod loader.
- Railway Evolution version.
- Create version.
- A description of what happened and what you expected.
- Steps to reproduce the issue, if possible.
- Relevant logs or crash reports when available.
/ Проект разработан Fizzy_lovely (1xCodeTeam).
Ваши отзывы бесценны! Если вы столкнулись с проблемой, сообщите о ней через страницу GitHub Issues:
GitHub Issues — Сообщить об ошибке
При сообщении об ошибке по возможности укажите:
- Версию Minecraft и загрузчик модов.
- Версию Railway Evolution.
- Версию Create.
- Описание произошедшего и ожидаемого поведения.
- Шаги для воспроизведения проблемы.
- Соответствующие логи или отчёт о сбое, если они доступны.
💎 Support the Development / Поддержать разработку
If you would like to support my work and help fund future development, you can donate via cryptocurrency:
Если вы хотите поддержать мою работу и помочь дальнейшему развитию проекта, вы можете отправить пожертвование в криптовалюте:
- USDT (TRC-20):
TTyjTZAaQT4vCFuHFjqX8gKxB8pz38cKzJ
Thank you for your support! Let's keep the tracks busy! 🚂❤️
Спасибо за поддержку! Пусть железные дороги не пустуют! 🚂❤️
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 12d ago | 1 | ||||
| 12d ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 |
- The Railway Evolution experience comes to Minecraft Forge 1.20.1!**
- Railway Evolution теперь доступен для Minecraft Forge 1.20.1!**
This release brings the Railway Evolution train AI and architectural improvements to the Forge 1.20.1 ecosystem. The codebase has been adapted from the NeoForge 1.21.1 development branch, with compatibility changes for Forge's event system, configuration, registries, and mod loading.
Этот выпуск переносит ИИ поездов Railway Evolution и архитектурные улучшения в экосистему Forge 1.20.1. Кодовая база адаптирована из ветки разработки NeoForge 1.21.1 с изменениями для совместимости с системой событий, конфигурацией, реестрами и загрузкой модов Forge.
## ✨ What's New / Что нового
### 🧠 Train Priority System / Система приоритетов поездов
- Introduced
TrainPriorityLevelandTrainPriorityRegistry. - Integrated train priorities into
JunctionReservationManager. - Added priority-aware junction reservation handling and the *ghost pass* mechanism.
- Добавлены
TrainPriorityLevelиTrainPriorityRegistry. - Система приоритетов интегрирована в
JunctionReservationManager. - Добавлена обработка резерваций перекрёстков с учётом приоритетов и механизм *ghost pass*.
### ⚙️ Rail Occupancy Optimization / Оптимизация занятости рельсов
- Added
EdgeOccupancyto represent rail-edge occupancy. - Introduced object pooling in
TrainScanMapsto reduce unnecessary allocations during train scanning. - Improved support for tracking multiple trains occupying the same rail edge.
- Добавлен
EdgeOccupancyдля представления занятости участков железнодорожного графа. - В
TrainScanMapsвнедрён пул объектов для сокращения лишних выделений памяти при сканировании поездов. - Улучшена поддержка отслеживания нескольких поездов на одном ребре графа.
### 🎮 Train Actuator and Control Handles / Исполнительный слой и управление поездами
- Added
TrainActuatorandTrainHandleto separate train control commands from higher-level AI logic. - Improved the architectural separation of speed control, braking, and navigation operations.
- Добавлены
TrainActuatorиTrainHandleдля отделения управляющих команд от логики высокого уровня. - Улучшено разделение операций управления скоростью, торможения и навигации.
### 🔍 Train States and Diagnostics / Состояния поездов и диагностика
- Added the new
StoppedState. - Introduced
TrackPriorityandTrackPriorityClassifierfor track classification. - Added diagnostic and recovery components:
TrainDiagnosticSnapshotTransientBrakeStateNativeRecoveryStatusNavigationKickstartOutcome
- Добавлено новое состояние
StoppedState. - Внедрены
TrackPriorityиTrackPriorityClassifierдля классификации путей. - Добавлены компоненты диагностики и восстановления:
TrainDiagnosticSnapshotTransientBrakeStateNativeRecoveryStatusNavigationKickstartOutcome
### 🧪 Testing Infrastructure / Инфраструктур
...
This update focuses on resolving several critical issues in Railway Evolution's train AI, including false obstacle detection, junction deadlocks, trains getting stuck after world loading, and navigation recovery failures.
After investigating both the mod's codebase and Create's source code, I identified the underlying causes of these problems and implemented targeted fixes instead of relying on temporary workarounds.
/ Это обновление посвящено исправлению нескольких критических проблем ИИ поездов в Railway Evolution: ложного обнаружения препятствий, взаимных блокировок на перекрёстках, застревания поездов после загрузки мира и сбоев восстановления навигации.
После детального изучения кодовой базы мода и исходников Create мне удалось выявить причины этих проблем и внести целевые исправления вместо использования временных обходных решений.
## 🙏 An Apology & Update from the Developer / Извинения и новости от разработчика
First of all, I want to sincerely apologize for being absent for almost two months without providing proper updates. I know that many of you have been waiting for news, fixes, and improvements, and I'm sorry for the long silence.
The main reasons for my absence were my studies and moving to a new Linux distribution. This transition took time away from development, and I wasn't able to communicate with the community as consistently as I would have liked.
Despite the delay, I haven't abandoned Railway Evolution. I've been working on understanding the deeper issues affecting train behavior and making the AI more reliable.
Thank you to everyone who continued supporting the project, reporting bugs, and waiting patiently. With over 11,000 downloads, Railway Evolution has grown beyond a small personal project, and I don't take your support for granted.
I'm sorry for keeping you waiting, and thank you for staying with the project. ❤️
/ Прежде всего, я хочу искренне извиниться за то, что меня почти два месяца не было и я не публиковал нормальных обновлений о разработке. Я понимаю, что многие ждали новостей, исправлений и улучшений, и мне действительно жаль, что так долго не выходил на связь.
Основными причинами моего отсутствия стали учёба и переход на новый дистрибутив Linux. На адаптацию к новой системе и решение сопутствующих задач ушло немало времени, поэтому уделять разработке и общению с сообществом столько внимания, сколько хотелось бы, у меня не получалось.
Несмотря на задержку, я не забросил Railway Evolution. Я продолжил разбираться в глубинных проблемах поведения поездов, чтобы сделать ИИ надёжнее.
Спасибо всем, кто продолжал поддерживать проект, сообщать об ошибках и терпеливо ждать. У Railway Evolution уже более 11 тысяч скачиваний, и я прекрасно понимаю, что за этой цифрой стоят реальные игроки, которые используют мой мод в своих мирах. Я не воспринимаю вашу поддержку как должное.
Простите за долгое ожидание и спасибо, что остаете
...
This update delivers critical performance optimizations and garbage-collection improvements, targeting high-frequency tick loops across core registries and controllers. / Это обновление приносит критические оптимизации производительности и снижение нагрузки на сборщик мусора (GC), затрагивая высокочастотные тиковые циклы в ключевых реестрах и контроллерах.
To be completely transparent with the community: profiling heavy networks revealed hidden allocation bottlenecks during high-frequency checks. Version 1.0.8 aggressively eliminates transient object spamming and redundant string operations per tick. / Буду честен с сообществом: профилирование тяжелых сетей выявило скрытые узкие места выделения памяти во время частых проверок. Версия 1.0.8 агрессивно убирает мусор из временных объектов и избыточные операции со строками за каждый тик.
Version 1.0.8 eliminates per-tick array allocations, caches immutable identifiers, and optimizes collection sorting, making Railway Evolution faster and lighter on server resources. / Версия 1.0.8 полностью убирает выделение массивов за каждый тик, кэширует неизменяемые идентификаторы и оптимизирует сортировку коллекций, делая Railway Evolution быстрее и легче для серверных ресурсов.
✨ Key Features & Improvements / Ключевые изменения и улучшения:
- Zero-Allocation Coordinate Lookups / Нулевые аллокации координат:**
TrainAIController.java: getNodeXZ() / getNodeXYZ() no longer allocate new double[] arrays every tick, relying instead on an internal reusable buffer _nodeCoordBuf. / TrainAIController.java: getNodeXZ() / getNodeXYZ(): Устранена аллокация массивов new double[] каждый тик — теперь используется внутренний переиспользуемый буфер _nodeCoordBuf.- Identifier Caching & CPU Saving / Кэширование идентификаторов:**
final String shortId inside the constructor, removing over 70 costly trainId.toString().substring(0, 8) calls per tick. / Предрассчитывается shortId: Поле final String shortId предрассчитывается один раз в конструкторе, убраны 70+ вызовов trainId.toString().substring(0, 8) за тик.- Lambda-Free Registry Sorting / Сортировка без лямбд в реестрах:**
StoppedTrainRegistry.java and MovingTrainRegistry.java: Distance sorting in getNearby() has been migrated to a static DistanceComparator instance, eliminating anonymous lambda allocations. / StoppedTrainRegistry.java и MovingTrainRegistry.java: Сортировка по дистанции в getNearby() переведена на статический экземпляр DistanceComparator (устранены анонимные лямбды при сортировке).- Optimized Segment Keys / Оптимизированные ключи сегментов:**
VirtualBlockSystem.java: String concatenation in makeSegmentKey() replaced with a lightweight record SegmentKey(int dimHash, long posA, long posB) utilizing packed coordinates via BlockPos.asLong(). / VirtualBlockSystem.java: Конкатенация строк в makeSegmentKey() заме...
This update represents the most important architectural milestone in the history of Railway Evolution. / Это обновление — важнейший архитектурный рубеж в истории Railway Evolution.
To be completely transparent with the community: my previous patch attempts were too fragmented. While trying to fix isolated bugs, I realized that "Band-Aid" fixes were no longer enough for complex, high-density railway networks. I went back to the drawing board, conducted a complete audit of the codebase.
Буду честен с сообществом: мои предыдущие попытки сделать точечные патчи оказались слишком фрагментарными. Пытаясь исправить отдельные баги, я понял, что полумеры и «заплатки» больше не работают для сложных и загруженных железнодорожных сетей. Я вернулся к истокам.
Version 1.0.8 resolves all accumulated logic edge-cases, dimensional bugs, and deadlock locks — making Railway Evolution rock-solid, ultra-performant, and natively compatible with Create 6.0.10+.
Версия 1.0.8 окончательно закрывает все накопившиеся логические ошибки, баги с измерениями и взаимные блокировки поездов, делая мод максимально стабильным, производительным и полностью совместимым с Create 6.0.10+.
### ✨ Key Features & Improvements / Ключевые изменения и улучшения:
- 3D & Dimension-Aware Reservations / 3D и Многомерность:** Virtual Block System (VBS) and Junction Reservations now natively track $Y$-levels and Dimension IDs (Overworld, Nether, End). Multi-level bridges, underground subways, and interdimensional tracks no longer produce false collision stops. / Virtual Block System (VBS) и резервации развязок теперь учитывают $Y$-уровень и ID измерений (Overworld, Nether, End). Многоуровневые мосты, метро и межпространственные пути больше не вызывают ложных торможений.
- Deadlock-Free Junction Management / Устранение Deadlock на развязках:** Overhauled Junction Mutexes. Trains yielding at switches or waiting for clearance now instantly release their junction locks and VBS footprints, eliminating deadlocks on complex S-curve bypasses. / Переработана система мьютексов развилок. Поезда, уступающие дорогу или ожидающие проезда на стрелках, теперь мгновенно освобождают блокировки узлов и VBS, исключая глухие заторы на S-образных разъездах.
- Precision Train Physical Bounds / Точные физические границы длинных составов:** Integrated Trailing Edge tracking alongside Leading Edge scanning. Long trains no longer "disappear" from the track graph when transitioning between nodes. / Добавлен учёт хвоста поезда (Trailing Edge). Длинные составы больше не «исчезают» из графа сканирования, когда их голова переезжает на следующий узел.
- Near-Zero GC Footprint / Near-Zero GC (Оптимизация памяти):** Refactored high-frequency tick loops (StoppedTrainRegistry, MovingTrainRegistry, and Graph Adapters) to use in-place mutations and dynamic object pooling. No transient object spamming during heavy BFS scans. / Горячие циклы тиков переведены
This update represents a monumental architectural leap for Railway Evolution. By shifting from per-train $O(N^2)$ scanning loops to a centralized global map pre-computation model (TrainScanMaps powered by IdentityHashMap), we have fundamentally eliminated redundant iterations across high-density rail networks. Version 7 focuses on pure, unadulterated tick-rate stability: keeping complex multi-train logistics fluid, mathematically precise, and completely weightless on the Java Garbage Collector.
✨ **Key Features of v7:**
- Global Map-Scan Architecture:** Replaced dozens of per-controller getAllControllers() scans with a unified, pre-computed tick-phase map (edgeToTrain, reverseEdgeMap, junctionApproachMap). AI pathfinding now queries global states instantly in $O(1)$ time.
- Zero-Allocation Pipeline:** Deep backend refactor utilizing IdentityHashMap alongside persistent class-level buffers. Transient object creation during high-frequency graph-walk scans has been completely eradicated.
- Optimized Junction & Reverse Safety:** Streamlined reverse-path tracking (myReverseLeadingEdge) and advanced filterGlobalHit per-train filtering ensure flawless deadlock resolution and collision avoidance without CPU spikes.
- Engineered for Scale:** Whether you're running 5 or 50 automated locomotives, the core loop executes with maximum efficiency, making v6 the most stable foundation for large-scale industrial rail automation.
🛠 **Technical Changelog (v7):**
- TrainScanMaps Core:** Introduced a centralized tracking structure built entirely on IdentityHashMap to eliminate duplicate lookups.
- Pre-Compute Phase:** buildScanMaps() now executes strictly before controller ticks, guaranteeing fresh, thread-safe topological data every single tick without null-pointers on startup.
- Refinement of the Core:** Cleaned up over 80+ lines of redundant nested loops in TrainAIController, replacing them with optimized global map queries wrapped in strict per-train filters (self-bypass, junction yielding, Y-level checks).
🔮 **Looking Forward:**
With the global map-scan architecture fully deployed, Railway Evolution’s core is faster, smarter, and lighter than ever. Thank you for making this journey incredible!
This update represents the most significant refinement of the **Railway Evolution** core to date. By rigorously auditing the "hot paths" of our AI logic and eliminating excessive object allocation, we have achieved a new level of tick-rate stability. The focus of v6 is seamless performance: keeping the high-speed traffic flowing without burdening the Java Garbage Collector, even in dense, complex rail networks.
## ✨ Key Features of v6:
- Zero-Allocation Tick Cycle:** Major backend refactor of the
VirtualBlockSystemandReservationManager. By implementing key-based lookups and singleton patterns, we have eliminated redundant object creation during frequent reservation renewals. - Heuristic Optimization:** Advanced mathematical refinement for
AccidentZoneMemory(distance-squared comparison) drastically reduces CPU overhead during proximity checks. - AI Logic Cleanup:** Streamlined state management and buffer reuse in the
EcosystemRegistryensures that player-train interactions remain fluid and responsive without triggering GC spikes. - Refinement of the Core:** While the 5,000+ line
TrainAIControllerremains the stable authority, all surrounding support systems have been optimized for maximum efficiency.
## 🛠 Technical Changelog (v6):
### Performance & Memory Optimizations
- VirtualBlockSystem:** Optimized
tryReserve()and reservation lifecycle management. Implemented key-based caching; renewal logic is now effectively zero-allocation. - JunctionReservationManager:** Introduced
GRANTED_NO_GHOSTsingleton to replace transient result objects during intersection renewals. - AccidentZoneMemory:** Switched to squared-distance heuristics, bypassing unnecessary
Math.sqrt()calls during multi-zone iterations. - EcosystemRegistry:** Optimized
scanPlayerControls()by replacing transientHashSetallocations with a persistent class-level buffer (stillControlledBuf). - General Housekeeping:** Removed redundant field lookups and variable shadowing in
TrainAIManagerandEcosystemRegistryto decrease instruction overhead per tick.
### Logic & Reliability
- Conflict Resolution:** Refactored
isHeadOnConflict()to use direct boolean comparison, reducing method-invocation depth in high-frequency logic gates. - Cleanup:** Conducted scope cleanup in
tickRefreshAll()to prevent state leakage and improve variable lifecycle efficiency.
## 🔮 Future Roadmap: Stability & Scalability
With the v6 performance optimizations complete, the core logic is now more efficient than ever. This release ensures that **Railway Evolution** remains performant even as your rail networks grow in scale and complexity. My focus remains on maintaining this high-performance core across future Minecraft versions, providing a rock-solid foundation for the world’s most advanced rail automation systems.
- Developed by Fizzy_lovely (1xCodeTeam) — Precision engineering, zero-la
This update marks a significant architectural milestone, transforming Railway Evolution from an AI-train controller into a full-scale **Traffic Ecosystem**. By introducing the Event-Driven Perception Engine and Player-Train integration, we have achieved seamless traffic management where AI and players exist in the same environment.
## ✨ Key Features of v1.0.5:
- Ecosystem V2:** A unified, event-driven perception engine allows AI to perceive player-controlled trains as dynamic traffic participants rather than obstacles.
- Flow Follower (Convoy Mode):** AI trains now intelligently match the speed of the lead vehicle (player or AI), allowing for fluid, real-world traffic patterns without constant emergency braking.
- Deterministic Junction Priority:** Replaced the legacy "first-come-first-served" logic with a distance-based "steal" mechanism, ensuring the closest train always has the right-of-way.
- Zero-Allocation Architecture:** Massive backend refactor using
VarHandleand object pools, resulting in near-zero GC pressure during high-traffic ticks.
## 🛠 Technical Changelog (v1.0.5):
### Perception & Ecosystem
- PerceptionEngine:** New event-driven scanner using swept Bezier-sampling for precise curved track awareness.
- EcosystemRegistry:** Centralized real-time registry for all entities (AI + Player-controlled).
- PlayerTrainHandle:** Dedicated adapter that enables player-driven trains to be registered in the VBS and traffic registries.
- FSM v2:** Implemented a new multi-layered State Machine with
Layer 1 (Player)→Layer 0 (Safety)authority model.
### Intersection Logic
- JunctionReservationManager:** Added distance-based stealing logic—trains now "steal" reservations if they are significantly closer (>3 blocks) to the intersection.
- Ghost Pass Logic:** Trains yielding at an intersection now designate the winner, allowing the winner to perform a "ghost pass" through the yielding train.
### Collision & Proximity Fixes
- Lateral Tolerance Optimization:** Reduced lateral scanning distance from 8 to 3.5 blocks, eliminating phantom braking on parallel tracks.
- Omni-Zone Refinement:** Omnidirectional detection range reduced from 8 to 5 blocks with strict
isOnSameTrack()filtering. - BFS Filtering:** Fixed flickering where physical scans conflicted with BFS results; physical scans now only override BFS if a threat is 4+ blocks closer.
- Player Detection:** Expanded detection radius for player-controlled trains to 20 blocks, bypassing strict graph-data filters to ensure the AI never loses sight of the player.
### Refactor & Performance
- VarHandle Integration:** Replaced reflective
Field.get()calls withVarHandlefor 5–10x faster primitive access. - State Machine Cleanup:** Removed conflicting
forceStop()triggers from old state logic; unified FSM v2 as the primary authority.
## 📂 New Architecture Files:
- `ai/core/PerceptionE
This is a professional-grade AI overhaul for Create Mod trains. Version 1.0.4 introduces advanced traffic management systems, including junction mutexes and predictive collision analysis, moving beyond simple raycasting to a true "Traffic Control" architecture.
### ✨ Key Features of v1.0.4:
- 🔒 Junction Reservation (Mutex System):** Trains must now "reserve" complex intersections (3+ connections) before entry. This prevents the classic "head-on" deadlocks at crossings. Includes 10s auto-expiry and deterministic UUID tiebreaking.
- 📏 Adaptive Track-Size Scaling:** The AI dynamically adjusts its braking behavior using
bufferScalebased on track length, ensuring smooth stops on long lines and aggressive braking on short tracks. - 🗄️ Multi-Layered Registries:** Real-time databases for both stationary (StoppedTrainRegistry) and active (MovingTrainRegistry) traffic with TTC (Time-To-Collision) calculation.
- 🔮 Predictive Collision Analysis:** The AI calculates future positions, initiating proactive deceleration up to 5 seconds before a potential impact.
### 🛠 Technical Changelog (v1.0.4):
1. **JunctionReservationManager:** New mutex logic for safe intersection passage and deadlock prevention.
2. **StoppedTrainRegistry:** Guaranteed detection for stationary and derailed trains.
3. **MovingTrainRegistry:** Vector-based traffic analysis and predictive TTC logic.
4. **Direction-aware Distance:** Dot-product math for precise "Edge-to-Edge" accuracy.
5. **Precision Beam Overhaul:** Straight (1.5), Curve (3.5), and Ultra-close (4.0) beam optimizations.
6. **Overlap Deadlock Breaker:** Automatic reverse resolution for clipped trains after 3 seconds (60 ticks).
7. **Critical BFS Fix:** Resolved data loss issue (fixed
return null to return graphHit).8. **Adaptive Scaling:** Dynamic safety zones based on track segment size (20b, 50b, 100b+).
9. **Build Optimization:** Fixed "duplicate range variable" compilation errors.
10. **System Orchestration:**
TrainAIManager now coordinates VBS, Registries, Junctions, and Accident Zones.### ⚙️ v1.0.4 Scanning Pipeline:
1. **graphWalkScan()** — Primary BFS search with Junction Mutex checks.
2. **Stopped Registry** — Instant stationary obstacle lookup.
3. **Moving Registry** — Dynamic traffic vector analysis.
4. **Ultra-close scan** — Emergency fallback (≤16 blocks).
5. **Post-BFS proximity** — Final distance verification.
6. **Fallback beam** — Secondary raycast for missing graph data.
- Developed by Fizzy_lovely — Making trains smarter, one line at a time.*
- [STABILITY & PRECISION UPDATE]** — This major update introduces a complete rewrite of the limit-breaking system for the latest Create versions and perfects train vision on curved tracks.
### 🔹 Key Features:
- 🚀 **True Infinity Mode:** Completely bypassed the new "Catnip" library limits. Build trains and tracks of any length without restrictions.
- 📐 **Precision Curve Awareness:** Restored full obstacle detection on turns. Trains now "see" along the rails (tangents), not just direct movement vectors.
- 🎮 **Enhanced Manual Control:** When a player takes the throttle, the AI completely steps aside, disabling all automatic braking for a true manual experience.
### 🛠 Changelog:
- 1. 🚫 Infinity Mode Rewrite (Critical Fix)**
- The Catnip Patch:** Adapted for **Create 6.0.10** and the **Catnip** library. The system now uses advanced reflection to patch
ConfigIntandModConfigSpec.IntValuehard-coded maximums. - Unlocked Limits:**
- Track Placement Length:** 32 → **10,000** blocks
- Max Train Assembly Length:** 128 → **10,000** blocks
- Max Bogey Count:** 20 → **10,000** bogeys
- Max Blocks Moved:** 2048 → **10,000** blocks
- Added detailed server-side diagnostics (WARN logs) to verify every patched value.
- 2. 📐 Improved Curve Vision & Braking**
- Tangent Calculation:** Fixed the "chord vs tangent" issue. Heading is now derived from track geometry (nodes) instead of movement delta.
- Static Detection:** Fixed trains going "blind" when stopped on a curve.
- Refined Thresholds:** Lowered detection threshold from 1.5 to **0.5 blocks** for pinpoint accuracy on sharp turns.
- Geometry Blending:** Increased track geometry blend to **85%** for smoother tracking.
- 3. 🎮 AI & Movement Logic**
- Manual Override:** AI braking is 100% disabled while a player is driving (
runtime.pauseddetection for Create 6.0.x). - Passenger Filtering:** Players acting as passengers or drivers are no longer detected as obstacles "on the tracks."
- Anti-Gridlock:** Refined junction yielding with a UUID-based tiebreak system to solve intersection stalemates.
### 🚦 Console Commands:
| Command | Description |
| :--- | :--- |
|
/railway infinity true/false | **Toggle unlimited limits (The Catnip Fix)** ||
/railway braking distance <5-200> | Set obstacle detection range (Default: 50) ||
/railway braking sharpness <1-10> | Set braking intensity (1: Smooth, 10: Aggressive) ||
/railway safe-mode true/false | Toggle braking before players ||
/railway reload | Rescan and update all tracked trains ||
/railway release | Force unlock stuck trains from Yielding state |### ⚠️ Requirements:
- NeoForge:** 1.21.1
- Create:** 0.6.10+ (and newer versions using Catnip library)
- Thank you for 1,500+ downloads! Let’s keep the tracks moving!* 🚂✨
🔹 Key Features:
🚀 NeoForge Native: Fully compatible with Create 0.6.9 / 0.6.10 on Minecraft 1.21.1.
🎮 Manual Override Fix: AI "Control Lock" is gone. If you take the controls, the AI steps aside.
♾️ Infinity Mode: The /railway infinity command now successfully bypasses track and train length limits.
📐 Curve Awareness: Trains no longer go "blind" on turns. Full obstacle detection on curved tracks is restored.
🛠 Changelog:
🔴 Fixes & Optimizations:
Manual Control: AI now correctly detects manual override (runtime.paused). If a player is driving, the AI disables all forced braking to give you full control.
Passenger Logic: Passengers and drivers are no longer detected as obstacles "on the tracks." Your train won't emergency brake for its own crew anymore.
Junction Tiebreak: Gridlocks are solved. If two trains reach a junction at the exact same time, a UUID-based tiebreak ensures only one yields.
Yielding Polish: Improved logic for clearing intersections. Slow-moving trains will no longer cause others to wait indefinitely.
🟢 New Improvements:
Infinity Mode (Tracks & Trains): Completely rewritten to work with new Create configs. Using /railway infinity now increases limits for track placement, bogey count, and station length to 10,000 blocks.
Curve Detection: Restored AI functionality on curved sections where Create's data often resets. Trains now see each other clearly even on sharp turns.
New Braking System: Added advanced commands to fine-tune how your trains stop.
💬 Console Commands:
/railway braking distance <5-200> — Sets obstacle detection range (Default: 50 blocks).
/railway braking sharpness <1-10> — Sets braking intensity (1: Smooth/Early, 10: Aggressive/Late).
/railway infinity [true/false] — Toggles unlimited track placement and train lengths.
⚠️ Requirements: NeoForge 1.21.1 | Create 0.6.10+
Important Note: This version is based on the Forge 1.20.1 source code. While it brings the essential train AI improvements to 1.18.2, please keep in mind that it does not include the latest experimental features found in the 1.21.1 NeoForge release. This is a "Legacy Stable" version.
🔴 End of Support Notice:
Please be aware that older versions (1.18.2, 1.19.2, and 1.20.1) will no longer receive updates, bug fixes, or technical support. These versions are provided "as-is". All future active development, features, and fixes will be focused exclusively on 1.21.1+ (NeoForge).
🔹 Features included:
Core junction priority system (First Come, First Served).
Basic collision prevention logic for intersections.
Optimized AI pathfinding for 1.18.2 environment.
Smooth braking logic for improved rail safety.
⚠️ Requirements: Forge 1.18.2 | Create 0.5.1.i
Thanks to our 1373+ users for the support! Let's evolve the rails together. 🚂💎🔥
🔹 Key Features:
🎮 Full Control: Integrated command system (/railway / /railwayai) for logging, safety, and unlimited modes.
🛠 Changelog:
🔴 Fixes & Optimizations:
Movement: Fixed jerky braking and YIELDING lock-ups; kinematic braking now works smoothly.
Collision Logic: Optimized parallel track awareness and bridge detection (reduced Y-tolerance to 6 blocks).
AI Vision: Added myGraph filtering to ensure trains on different networks don't block each other.
Console: Spam removed; AI logs are now hidden by default.
🟢 New Improvements:
Unlimited Mode: Added /railway infinity to remove hard-coded train length and track building limits.
Driver Override: Improved "driver-in-train" detection — AI no longer treats the engineer as an obstacle.
Emergency Recovery: Added 30-second JAM auto-timeout for stuck trains.
Safe-mode: Toggleable via /railway safe-mode [true/false] to prevent accidental collisions.
💬 Console Commands:
/railway — List all trains (ID, status, speed, position).
/railway log [true/false] — Toggle AI debug logs.
/railway safe-mode [true/false] — Toggle AI safety protocols.
/railway release — Instantly free all jammed trains.
/railway reload — Reload AI-manager.
/railway infinity [true/false] — Remove train/track limits.
⚠️ Requirements: NeoForge 1.21.1 | Create 0.6.1+
Important Note: This version is based on the Forge 1.20.1 source code. While it brings the essential train AI improvements to 1.19.2, please keep in mind that it does not include the advanced features found in the 1.21.1 NeoForge release (such as Java 21 optimizations and the latest junction intelligence). This is a "Legacy Stable" version for those still playing on older modpacks.
Core junction priority system.
Basic collision prevention logic.
Optimized code for 1.19.2 environment.
The wait is over. After the beta phase, we are officially launching the first stable release for NeoForge 1.21.1. This isn't just an update; it’s a complete overhaul of how Create trains think and move.
💎 Key Features:
🚀 NeoForge Native: Built specifically for NeoForge 21.1.222+ and Create 0.6.1.
🧠 Advanced Junction AI: No more gridlocks. Trains now calculate traffic in real-time.
⚙️ Optimized Engine: Powered by Java 21. We cut the bloat to keep your 120+ FPS safe.
🛤️ Catnip Integration: Smooth animations and rock-solid stability.
🛠 Changelog:
🔴 Fixes:
Fixed AI Vision: BFS algorithm now correctly detects all trains on complex X-junctions.
No More Freezing: Fixed a bug where trains would get stuck at junctions forever.
Manual Control Fix: AI no longer interferes when you take the throttle yourself.
Realistic Braking: Lookahead reduced to 12 blocks for smoother, more natural stops.
🟢 New Improvements:
⚖️ Fair Priority System: Implementation of the "First Come, First Served" logic.
🎫 Priority Tokens: If a train waits for more than 4 others, it automatically gets the right of way.
👻 Anti-Jam Ghosting: 5-second collision bypass after yielding to ensure smooth traffic flow.
📉 Smart Merge: Temporary 55% speed limit after merging for a realistic start.
⚠️ Requirements: NeoForge 1.21.1 | Create 0.6.1 | Catnip.
Legacy versions (1.20.1) are no longer supported.