跳到正文

Create FastTrack

作者:stacode

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.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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.

常见问题

Create FastTrack 支持哪些 Minecraft 版本?

Create FastTrack 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Create FastTrack 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分

stacode 的其他作品

查看全部 →