Links
Tags
Creators
Details
1.0.7-1.21.1
Compatibility
Changes
🚂 Railway Evolution v7 — [THE GLOBAL MAP-SCAN & PERFORMANCE CORE]
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!
🙏 THANK YOU FOR 6550 DOWNLOADS! / СПАСИБО ЗА 6 550 СКАЧИВАНИЙ!
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:VcPwJKGX:NyfdyIYD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:VcPwJKGX:NyfdyIYD"
}

