HomeJavaModsCreate FastTrack
Create FastTrack
ModsJava

Create FastTrack

by stacode · on Modrinth

This is a simple quick and dirty mod i created to fix a problem plaguing big servers. Server hangs and tps lag when placing and breaking tracks.

⬇ Download on Modrinth

TrackFastRack

A tiny standalone Forge 1.20.1 mod that fixes a performance hot-spot in Create's railway code by applying the track-network flood-fill optimisation to the published Create mod — no forked Create needed.

The problem

Whenever a track is placed or broken, Create's TrackGraph#findDisconnectedGraphs runs a connected-component flood fill over the entire rail network. In released Create (≤ 6.0.8) the BFS frontier is an ArrayList, and popping from the head via ArrayList#remove(0) shifts the whole backing array on every pop — making the flood fill O(n²).

On a large rail network (~80k nodes), a single track modification can walk billions of elements, causing noticeable stutter and lag spikes while building or rerouting long train lines.

The fix

This mod injects a single Mixin that replaces the frontier with an ArrayDeque (poll() is O(1)) and swaps stream().findFirst() for a plain iterator, turning the flood fill into O(n). The change is a faithful port of Create fork commit 272e97604 ("Optimise train network hot paths").

Verify it's working

On game start the mod logs TrackGraph flood-fill self-test OK, proving the optimised method bound correctly at runtime.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more