promotional bannermobile promotional banner

Create FastTrack

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.

# 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.

 

The Create FastTrack Team

profile avatar
Owner
  • 1
    Followers
  • 5
    Projects
  • 91.4K
    Downloads

More from stacodeView all