Class SpeedRunner
java.lang.Object
server.SpeedRunner
遠征速通排行榜的資料持久化與記憶體快取管理器。
以 ExpeditionType 為鍵,在靜態映射
speedRunData 中快取各遠征類型的排行文字摘要、成員明細與最快完成時間。
loadSpeedRuns() 於伺服器啟動時從 speedruns 資料表批次載入前 25 筆紀錄;
遠征結束後可透過 addSpeedRunData() 即時更新快取,或以
removeSpeedRunData() 清除特定類型的過期紀錄。
排行資料格式化為 NPC 對話可直接顯示的彩色字串(#b/#r 顏色碼),
包含帶隊者清單去重(同帶隊者只計最快一次)與每隊成員明細;
透過 DatabaseConnection 取得 JDBC 連線讀寫 speedruns 資料表。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final voidaddSpeedRunData(ExpeditionType type, Pair<StringBuilder, Map<Integer, String>> mib, long tmp) static final Pair<StringBuilder, Map<Integer, String>> addSpeedRunData(StringBuilder ret, Map<Integer, String> rett, String members, String leader, int rank, String timestring) static final StringgetPreamble(ExpeditionType type) static final voidstatic final voidstatic final void
-
Constructor Details
-
SpeedRunner
public SpeedRunner()
-
-
Method Details
-
getSpeedRunData
-
addSpeedRunData
public static final void addSpeedRunData(ExpeditionType type, Pair<StringBuilder, Map<Integer, String>> mib, long tmp) -
removeSpeedRunData
-
loadSpeedRuns
public static final void loadSpeedRuns() -
getPreamble
-
loadSpeedRunData
-
addSpeedRunData
-