Extractioncraft 比賽流程
本頁記錄從建立比賽的那一刻起,直到實例世界被刪除為止,實際上會發生的每一件事,包括各項計時器、撤離規則,以及玩家失去裝備的方式。
建立比賽
/exc createMatch <contentPackage.yml> 會把內容包的 betterStructuresModulesContainerName 交給 BetterStructures,由它產生一個全新的實例世界。指令會先確認 BetterStructures、EliteMobs 與 FreeMinecraftModels 都已載入、玩家目前不在任何比賽中也沒有在等待比賽,以及該內容包與其模組產生器都已啟用。
世界產生期間,玩家會被保留給這場比賽,無法加入或建立其他比賽。若產生時間超過 15 分鐘、玩家斷線或執行 /exc leave,或任一搭配外掛不再可用,產生作業就會被取消,並刪除建到一半的世界。生成完成後:
- 系統會為該世界建立一個
ExtractionMatch,並以等待中狀態開始。 - 執行該指令的玩家會被加入比賽,並在下一刻傳送到新世界中隨機挑選的一個出生點。若地圖沒有任何出生點,則改為取消這場比賽。
進入比賽的玩家會被切換為冒險模式。原本的位置與遊戲模式會在切換前儲存,並在離開時還原。玩家在比賽中使用自己的物品欄,不會另外暫存任何東西。
這裡沒有隊列,也沒有配對機制。比賽之所以存在,是因為有人建立了它。
等待玩家
/exc createMatch 是唯一內建的進入比賽方式。Extractioncraft 沒有註冊 join 或觀戰子指令,因此一場比賽通常只會有一名玩家:建立它的那個人。其他外掛可以透過開發者 API 讓玩家或旁觀者加入;以下規則適用於他們。
比賽處於等待狀態時:
- 加入時允許玩家人數最多達到內容包的
maxPlayers(所有預製的 Kobold Mines 內容包皆為 8),並以failedToJoinOngoingMatchAsPlayerInstanceIsFull拒絕已滿的實例。 - 比賽一旦進入倒數或開打,就沒有人能再以玩家身分加入。遲到者會收到
failedToJoinOngoingMatchAsPlayerMessage。 - 只有在內容包設定
spectatable: true時才接受旁觀者。所有預製內容包都保持為false。 - 此時離開不會有任何代價:物品清除規則只在比賽開打後才適用。
開始比賽
比賽中的任何玩家都可以執行 /exc start。
- 如果在場人數少於
minPlayers,比賽會拒絕開始,並透過matchFailedToStartNotEnoughPlayersMessage告知所有人($amount會被替換成所需人數)。 - 否則倒數以一秒間隔依序顯示
2、1、0,在第三次更新時結束,即第一次更新約兩秒之後。 - 如果倒數期間玩家人數掉到
minPlayers以下,比賽會被中止並直接結束。 - 倒數開始後再次執行
/exc start不會有任何作用。
倒數結束時,比賽正式開打。與紅石的物理互動會被解鎖,地圖的實例 Boss 會生成,箱子和木桶會被放置,15 分鐘計時器、收縮的世界邊界和指南針 Boss 條也隨之啟動。裝飾用(不可使用)的撤離點也會在同一時間貼入。
計時器
| 計時器 | 長度 | 作用 |
|---|---|---|
| 比賽計時器 | 15 分鐘 | 在 Extractioncraft 側邊欄計分板上顯示為 Timer MM:SS,每秒更新一次。到達 00:00 時比賽結束。 |
| 撤離點解鎖 | 開始後 1 分鐘 | 每個撤離點的可用版本會被貼入,連同它的拉桿。 |
| 撤離視窗 | 20 秒 | 由拉動撤離點的拉桿啟動。 |
| 容器開啟 | 3 秒 | 你必須靜止站立以掠奪箱子或木桶的時間。 |
當比賽計時器到達 00:00 時,比賽結束,仍在裡面的每位玩家都會以撤離失敗的身分被移出。請參閱死亡與物品損失。
世界邊界
邊界以產生的地圖正中央為中心,一開始與地圖同寬。BetterStructures 依模組產生器回報的寬度為 (2 × radius − 1) × moduleSizeXZ,預製的 Kobold Mines 地圖為 384 方塊。邊界每秒會被設為起始寬度乘以剩餘時間的比例,因此會穩定縮小,並在 15 分鐘計時器結束時縮到 1 方塊。
邊界的警告距離被設為目前邊界寬度減 50,最低為 0。由於 Minecraft 把警告距離解讀為「距離邊界多少方塊時畫面開始泛紅」,在邊界寬度小於 100 方塊之前,紅色警告覆蓋層會涵蓋整張地圖;之後才只會在接近邊緣時出現。
由於最困難的區域位於地圖中央(請參閱怪物擊殺戰利品),不斷收縮的邊界會穩定地把玩家推向地圖中更困難、也更有回報的區域。邊界傷害仍然有效,致命的邊界傷害會透過正常的比賽死亡流程將玩家移出。
撤離
- 找到一個撤離點。畫面上方的 Boss 條是一條指南針:它會為你視線 90° 範圍內的每個撤離點顯示一個
⦿標記,每個字元約代表 3°。這條 Boss 條在比賽開始時就會出現,但頭一分鐘內都是空的;標記只會為可用的撤離點繪製,而它們要等解鎖計時器觸發後才會被放置。 - 右鍵點擊撤離點上的拉桿。拉桿會被移除,10 方塊內的所有玩家都會收到「You have triggered an exit!」的通知,並為該撤離點開啟單一一段 20 秒的撤離視窗。
- 站在撤離區內,也就是以撤離點方塊為中心的 7 × 7 × 7 方塊立方體。當你在裡面時,你會看到
Extracting! in N seconds!。 - 走出去會顯示
Extraction cancelled!,但視窗仍會繼續倒數。在它關閉前回到裡面依然算數。 - 視窗關閉時,站在裡面的所有人會同時撤離:
Victory / Extraction successful!。他們會被移出比賽,並保留身上攜帶的一切。
每個撤離點在一場比賽中只會開啟一次視窗。處理器接受位於尚未使用過的撤離點 10 方塊以內的拉桿。已使用過的撤離點附近的拉桿不會有任何特殊作用,只會像一般拉桿一樣切換。
死亡與物品損失
Extractioncraft 的比賽只給每位玩家一條命,沒有重生,也沒有死亡箱。
- 會致玩家於死的傷害會被直接取消。取而代之的是,該玩家會被移出比賽。比賽開打期間,會先清除其藥水效果、著火、冰凍狀態與墜落距離。
- 被移出時,玩家會取回儲存的遊戲模式,並傳送回加入前所站的位置。生命值不會回復,只有比賽結束時仍在裡面的玩家例外。
- 掉到世界底部之下的玩家會被放回最後站過的方塊,最多連續三次。之後虛空就會像其他傷害一樣殺死他們。
比賽開打後,玩家離開的方式決定其物品的下場:
| 你離開的方式 | 保留戰利品? |
|---|---|
| 在撤離點成功撤離 | 是,並靈魂綁定 |
伺服器關閉或 /exc reload | 是,並靈魂綁定 |
在進行中的比賽裡死亡、/exc leave、/exc quit 或斷線 | 否,使用預設設定時 |
| 15 分鐘計時器結束時仍在裡面 | 否,使用預設設定時 |
| 在比賽仍在等待或倒數時離開 | 是,不受影響 |
當 deleteItemsOnFailToExtract 為 true(預設值)時,「否」會清除整個物品欄、游標上的物品以及合成格。設為 false 時,這些離開方式會改為將物品靈魂綁定。在 EliteMobs 的 Soulbind 附魔啟用時,靈魂綁定會將每件未綁定的物品綁定給離開的玩家;已綁定的物品則保留原本的擁有者。
倒數因人數不足 minPlayers 而中止時仍在裡面的玩家,會在比賽結束時被移出,而且物品完全不受影響,因為比賽從未正式開始。物品損失只適用於比賽正式開始時就在場內的玩家。
世界保護
實例比賽世界在其整個生命週期中都受到保護:
- 玩家無法破壞或放置方塊、使用骨粉、倒空桶子、編輯告示牌,或破壞地形。爆炸、火焰、液體流動、樹葉腐爛與原版怪物生成都會被封鎖,鞘翅滑翔也會被停用。
- 箱子、木桶和其他容器無法開啟;比賽容器的掠奪方式請參閱容器戰利品。門、地板門和柵欄門無法使用。物品展示框、盔甲座和花盆受到保護。
- 壓力板等與紅石的物理互動會被封鎖,直到比賽開打。該設定不會封鎖所有類型的紅石互動。
- 當內容包設定
pvpEnabled: false時,PvP 會被封鎖。 - 比賽中的玩家無法以比賽本身未發起的任何方式傳送,包括指令、終界珍珠和紫頌果。其他玩家除非持有
extractioncraft.match.bypass(預設:op),否則無法傳送進入比賽世界。 - 比賽倒數或進行期間,任何在比賽世界中被發現且沒有
extractioncraft.match.bypass的其他人,都會被送到主世界的重生點。
管理員可用 /exc protection bypass 繞過讀取玩家繞過旗標的方塊和互動檢查。它不會繞過比賽傳送限制、PvP 禁令或所有世界規則。
結束比賽
當最後一名活躍玩家被移出時(無論原因是撤離、死亡、離開還是斷線)、15 分鐘計時器結束時,或倒數期間人數低於最低玩家數時,比賽就會結束。仍在裡面的每個人都會被治療並移出,Extractioncraft 會停止該比賽的邊界、指南針、計分板與粒子工作,而仍留在世界中的其他人(例如擁有繞過權限的管理人員)會被送到主世界的重生點。
接著,結束比賽會要求永久刪除其暫存世界。如果世界無法卸載,則略過刪除;外掛啟用時,資料夾刪除會等待五秒,並確認世界沒有再次載入。
當外掛被停用時比賽也會被拆除,這包括 /exc reload 與伺服器關閉。仍在產生中的比賽會被取消,進行中比賽的玩家則如上所述保留其物品。