← Назад к ресурсам

Create FastTrack

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.

Modrinth optimization

Описание

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