跳至主要內容

Extractioncraft 比賽流程

本頁記錄從建立比賽的那一刻起,直到實例世界被刪除為止,實際上會發生的每一件事,包括各項計時器、撤離規則,以及玩家失去裝備的方式。

建立比賽

/exc createMatch <contentPackage.yml> 會把內容包的 betterStructuresModulesContainerName 交給 BetterStructures,由它非同步產生一個全新的實例世界。生成完成後:

  • 系統會為該世界建立一個 ExtractionMatch,並以等待中狀態開始。
  • 執行該指令的玩家會被加入比賽,並傳送到新世界中隨機挑選的一個出生點。
  • 地圖生成池所定義的實例 Boss 會被生成出來。

任何進入比賽的人都會被設為冒險模式,而且系統會記住他先前的遊戲模式與位置,以便在離開時還原。

這裡沒有隊列,也沒有配對機制。比賽之所以存在,是因為有人建立了它。

等待玩家

目前的建置版本沒有加入指令

/exc createMatch 是唯一能把玩家送進比賽的程式路徑。Extractioncraft 並未註冊 join 子指令,也沒有任何其他地方呼叫共用執行環境的加入方法,因此一場比賽目前只會有一名玩家:建立它的那個人。以下所有關於加入的說明,描述的都是 Extractioncraft 所建構於其上的共用 MagmaCore 比賽執行環境——它已經設定好了,但目前還沒有任何東西會用到它。

比賽處於等待狀態時:

  • 加入路徑原本會允許玩家人數達到內容包的 maxPlayers(所有預製的 Kobold Mines 內容包皆為 8),並以 failedToJoinOngoingMatchAsPlayerInstanceIsFull 拒絕已滿的實例。
  • 比賽一旦開打,就沒有人能再加入——遲到者會收到 failedToJoinOngoingMatchAsPlayerMessage
  • 無法觀戰。Extractioncraft 從未把它的比賽標記為可觀戰,所以觀戰者的加入一律會被拒絕,而 messaging.yml 中的觀戰訊息也永遠不會送出。
  • 此時離開不會有任何代價:物品清除規則只在比賽開打後才適用。

開始比賽

比賽中的任何玩家都可以執行 /exc start

  • 如果在場人數少於 minPlayers,比賽會拒絕開始,並透過 matchFailedToStartNotEnoughPlayersMessage 告知所有人($amount 會被替換成所需人數)。
  • 否則會執行一段 3 秒倒數,每秒更新一次標題。
  • 如果倒數期間玩家人數掉到 minPlayers 以下,比賽會被中止並直接結束。

倒數結束的那一刻:

  • 箱子和木桶會被放置到地圖各處。
  • 在地圖佈置期間被封鎖的紅石互動會解除封鎖,讓撤離拉桿可以使用。
  • 15 分鐘計時器、收縮中的世界邊界,以及指南針 Boss 條全部開始運作。
  • 每個撤離點的裝飾用(無法使用)版本會被貼入地圖。

計時器

計時器長度作用
比賽計時器15 分鐘Extractioncraft 側邊欄計分板上顯示為 Timer MM:SS,每秒更新一次。最低停在 00:00
撤離點解鎖開始後 1 分鐘每個撤離點的可用版本會被貼入,連同它的拉桿。
撤離視窗20 秒由拉動撤離點的拉桿啟動。
容器開啟3 秒你必須靜止站立以掠奪箱子或木桶的時間。

比賽計時器本身並不會結束比賽——結束比賽的是世界邊界。

世界邊界

邊界從寬 740 方塊開始,大約每 24 刻(約 1.2 秒)收縮一個方塊,在 15 分鐘標記前不久縮到零(740 個收縮步驟、每步 24 刻,共 14 分 48 秒)。

邊界的警告距離被設為目前邊界寬度減 50(開場時為 690 方塊)。由於 Minecraft 把警告距離解讀為「距離邊界多少方塊時畫面開始泛紅」,這麼大的數值涵蓋了整個可遊玩區域,因此紅色警告覆蓋層會在整場比賽中對所有人持續顯示,而不是只在你接近邊緣時才出現。

由於 BetterStructures 會依照與地圖中心的距離來調整 Boss 等級——中央最高、邊緣最低——不斷收縮的邊界會穩定地把玩家推向地圖中更困難、也更有回報的區域。

一旦邊界縮到零,邊界傷害就會變得致命,而致命傷害會把玩家移出比賽(見下文)。當最後一名玩家離開後,比賽結束,其世界會被刪除。

撤離

  1. 找到一個撤離點。畫面上方的 Boss 條是一條指南針:它會為你視線 90° 範圍內的每個撤離點顯示一個 ⦿ 標記,每個字元約代表 3°。這條 Boss 條在比賽開始時就會出現,但頭一分鐘內都是空的——標記只會為可用的撤離點繪製,而它們要等解鎖計時器觸發後才會被放置。
  2. 右鍵點擊撤離點上的拉桿。拉桿會被消耗,10 方塊內的所有人都會收到「You have triggered an exit!」的通知,並為該撤離點開啟單一一段 20 秒的撤離視窗
  3. 站在撤離區內——這是一個從撤離點向各方向延伸 3 方塊的立方體。當你在裡面時,你會看到 Extracting! in N seconds!
  4. 走出去會顯示 Extraction cancelled!,但視窗仍會繼續倒數。在它關閉前回到裡面依然算數。
  5. 視窗關閉時,站在裡面的所有人會同時撤離Victory / Extraction successful!。他們會被移出比賽,並保留身上攜帶的一切。
每個撤離點只有一段視窗

拉動拉桿會摧毀它。如果你觸發了一個撤離點卻錯過那 20 秒的視窗,該撤離點就報廢了——去找另一個吧。

死亡與物品損失

Extractioncraft 的比賽只給每位玩家一條命,沒有重生,也沒有死亡箱。

  • 會致玩家於死的傷害會被直接取消。取而代之的是,該玩家會被移出比賽。
  • 被移出時,他的生命值會回復到最大值,先前的遊戲模式會被還原,並被傳送回他加入之前所站的位置。
  • 他物品欄中的一切都會變成靈魂綁定(EliteMobs 的靈魂綁定附魔)——接著,如果這次移出並非成功撤離,而且 deleteItemsOnFailToExtracttrue(預設值),整個物品欄就會被清空。

/exc leave/exc quit 與斷線都使用同一條移出路徑,所以在比賽進行中,這三種方式都會讓你失去戰利品。

你離開的方式保留戰利品?
在撤離點成功撤離
被怪物、玩家或邊界殺死否(使用預設設定時)
比賽中途執行 /exc leave/exc quit否(使用預設設定時)
比賽中途斷線否(使用預設設定時)
在比賽仍在等待或倒數時離開

世界保護

實例比賽世界在其整個生命週期中都受到保護:

  • 玩家無法破壞或放置方塊、使用骨粉,或破壞地形。
  • 在比賽開始前,紅石互動會被封鎖。
  • 當內容包設定 pvpEnabled: false 時,PvP 會被封鎖。
  • 傳送進入或離開比賽世界都會被取消。只有外掛自己的傳送能通過。
  • 比賽進行中,執行環境會掃描比賽世界裡的闖入者。管理員(OP)不受影響,只會收到動作列警告而不會被移除。請注意,移除動作本身只對伺服器仍保有比賽玩家紀錄的玩家有效(也就是自上次重啟以來曾參加過比賽的人);從未參加過比賽的玩家雖然會被偵測到,卻不會真的被移動。
  • 另外還有一個看門狗會檢查離開比賽區域的玩家,但它會嘗試把他們放回實例的起始位置,而 Extractioncraft 從未設定這個位置——所以這道特定的安全網目前並不起作用。實務上,離開比賽世界的傳送本來就已經被完全取消了。

管理員可以用 /exc protection bypass 為自己關閉這些保護。

結束比賽

當最後一名玩家被移出比賽時,比賽就結束了——無論他是撤離、死亡、離開還是斷線。結束比賽會永久刪除該實例世界,所以任何留在裡面的東西都不會保存下來。

當外掛被停用時比賽也會被拆除,這包括 /exc reload 與伺服器關閉。