跳至主要內容

Extractioncraft 設定

Extractioncraft 使用多個設定檔。主要設定位於 config.yml 和 messaging.yml。內容包、戰利品表和戰利品池各有自己的設定資料夾。

config.yml​

鍵類型預設值說明
deleteItemsOnFailToExtractBooleantrue玩家未能透過某個撤離點從比賽中撤離時是否失去所有物品。啟用時,預製內容會圍繞此風險進行平衡。停用會使內容更容易刷取,並降低參與撤離機制的動力。
nightbreak.autoDownloadPluginUpdatesBooleanfalse共用的 MagmaCore 設定,在 Extractioncraft 啟動後加入檔案。設為 true 時,可用的 Extractioncraft 外掛程式更新會在啟動幾分鐘後下載,並於下次重新啟動後使用,除非 nightbreak.applyPluginUpdatesWithoutRestart 更早套用它們。請參閱自動更新。
nightbreak.applyPluginUpdatesWithoutRestartStringnever共用的 MagmaCore 設定。never 會等到下次重新啟動,when-empty 會在下次沒有玩家在線時套用已下載的外掛程式更新,immediately 則在下載完成後立即套用。套用更新會重新載入 Extractioncraft,進行中的比賽因此會結束。請參閱不重新啟動即套用更新。

清空只會在比賽開打後才套用。在等待或倒數期間離開,物品欄不會受到影響。撤離、伺服器關閉或外掛重新載入會保留物品,並在 EliteMobs 的 Soulbind 附魔啟用時,將未綁定的物品靈魂綁定給該玩家。此選項設為 false 時,從進行中的比賽以其他任何方式離開,都會改為將物品靈魂綁定而非清除。各種離開方式請參閱比賽流程。

messaging.yml​

所有訊息支援 & 顏色代碼。佔位符會在各列中標註。

鍵預設值說明
failedToJoinOngoingMatchAsPlayerMessageCan't join this match - it has already started!玩家嘗試加入進行中的比賽時顯示
failedToJoinOngoingMatchAsPlayerInstanceIsFullCan't join this match - the instance is already full!比賽已達最大玩家數量時顯示
failedToJoinOngoingMatchAsPlayerNoPermissionCan't join this match - you don't have the permission!可設定的無權限訊息。目前不會傳送:Extractioncraft 的比賽沒有設定加入權限。
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessageCan't join this match - spectators are not allowed!當內容包停用旁觀時可設定的訊息。目前 MagmaCore 比賽執行時並不會發出此訊息:旁觀嘗試會被靜默拒絕,不會傳送任何訊息。
failedToJoinMatchAsSpectatorNoPermissionCan't spectate this match - you don't have the permission!當玩家缺少旁觀權限時可設定的訊息。目前不會傳送:旁觀不需要任何權限。
matchJoinAsPlayerMessage[Extractioncraft] You are now in the match, $player!以玩家身份加入比賽時的聊天訊息。$player 會被替換為玩家名稱,$count 則替換為最低玩家數量。
matchJoinAsPlayerTitleExtract!加入比賽時顯示的標題
matchJoinAsPlayerSubtitleGrab the loot and head to an extraction point!加入比賽時顯示的副標題
matchJoinAsSpectatorTitle(空白)以旁觀者身分加入時顯示的標題。Extractioncraft 沒有觀戰指令,因此只有由其他外掛透過 API 加入的旁觀者才會看到。
matchJoinAsSpectatorSubtitleNow spectating!以旁觀者身分加入時顯示的副標題。只會傳送給透過 API 加入的旁觀者。
matchJoinAsSpectatorMessage[Extractioncraft] You are now spectating a match! Do &a/extractioncraft quit &fto stop spectating!以旁觀者身分加入時的聊天訊息。只會傳送給透過 API 加入的旁觀者。$player 會被替換為玩家名稱。
matchLeaveAsPlayerMessage[Extractioncraft] You have left the match, $player!可設定的離開訊息。目前 MagmaCore 比賽執行時並不會發出,且 $player 不會被替換。
matchLeaveAsSpectatorMessage[Extractioncraft] You have left the match, $player!可設定的旁觀者離開訊息。目前 MagmaCore 比賽執行時並不會發出,且 $player 不會被替換。
matchFailedToStartNotEnoughPlayersMessageThis match requires $count players before starting - can't start yet!玩家數量不足時使用 /exc start,會向比賽中的所有人顯示。只有 $amount 佔位符會被替換為最低玩家數量,因此預設文字會原樣顯示 $count。若要讓數字被代入,請使用 $amount。
matchStartingMessage[Extractioncraft] Match starting!可設定的比賽開始聊天訊息。目前 MagmaCore 比賽執行時並不會發出(倒數計時改為透過標題/副標題顯示)。
matchStartingTitleMatch starting!倒數標題。$count 以一秒間隔依序顯示 2、1、0。
matchStartingSubtitlein $count...倒數副標題。$count 以一秒間隔依序顯示 2、1、0。
preventTeleportInMessage[Extractioncraft] You have attempted to teleport into an ongoing match - you can't do that!阻擋傳送進入比賽世界時可設定的訊息。傳送本身會被執行時取消,但目前並不會將此訊息傳送給玩家。
preventTeleportOutMessage[Extractioncraft] You have attempted to teleport from an ongoing match - you can't do that!阻擋傳送離開比賽時可設定的訊息。傳送本身會被執行時取消,但目前並不會將此訊息傳送給玩家。

內容包設定​

內容包是 content_packages/ 資料夾中的 YAML 檔案。每個檔案定義一個可遊玩的地圖設定。

鍵類型預設值說明
isEnabledBooleantrue此套件是否算作已安裝。這會決定它在 /exc setup 中項目的顏色(true = 已安裝/綠色,false = 已下載但未安裝/黃色),而設定選單會替你切換它。/exc createMatch 仍會以 Tab 補全已停用的套件,但會拒絕產生它。
nameString(必填)套件的顯示名稱(支援 & 顏色代碼)
descriptionString list(必填)在設定選單中顯示的說明行
downloadLinkString(可選)當你在設定選單中點擊尚未下載的套件時,會在聊天中顯示的 URL。預製套件使用 https://nightbreak.io/plugin/extractioncraft/。
versionInteger0內容版本號。Extractioncraft 的內容狀態檢查只區分「未下載/已安裝/未安裝」,因此這個值目前不會與任何東西比對。
folderNameString(可選)寫在預製檔案中,但目前的程式碼不會讀取。套件是否算作已下載,取決於 betterStructuresModulesContainerName。
usesEliteMobsBooleanfalse表示該套件使用 EliteMobs 內容的宣告式旗標。執行時並未強制執行。
usesBetterStructuresBooleanfalse表示該套件使用 BetterStructures 內容的宣告式旗標。執行時並未強制執行。
usesFreeMinecraftModulesBooleanfalse表示該套件使用 FreeMinecraftModels 內容的宣告式旗標。執行時並未強制執行。注意該 YAML 鍵在原始碼中拼寫為 usesFreeMinecraftModules(帶有「Modules」)。
betterStructuresModulesContainerNameString(可選)執行 /exc createMatch 時傳給世界生成器的 BetterStructures 模組生成器設定檔案名稱,例如 kobold_mines_module_generator_10.yml。這個鍵才是真正決定生成哪張地圖的關鍵。該生成器必須已啟用、設有 isWorldGeneration: true,並列出至少一個已安裝的起始模組。BetterStructures 載入此生成器後,設定選單就會將該套件視為已下載。
spectatableBooleanfalse比賽是否接受旁觀者。Extractioncraft 沒有觀戰指令,因此這只會影響其他外掛透過 API 加入的旁觀者。
pvpEnabledBooleantrue比賽期間是否啟用 PvP。設為 false 時,玩家及其投射物在比賽世界的任何地方都無法傷害其他玩家。
minPlayersInteger1開始比賽所需的最低玩家數量。低於此數時 /exc start 會拒絕執行;若倒數途中人數掉到此數以下,倒數會中止(並結束比賽)。大於 maxPlayers 的值會被降為 maxPlayers。
maxPlayersInteger100比賽允許的最大玩家數量(至少為 1)。全部五個預製的 Kobold Mines 套件都把它覆寫為 8。Extractioncraft 沒有註冊任何加入指令,因此除非其他外掛透過 API 讓玩家加入,否則只有建立者會進入比賽。
contentLevelInteger10產生箱子與木桶戰利品時傳給 EliteMobs 的等級。小於 1 的值會變為 1。預製套件使用 10、20、30、40 與 50。
chestLootTablesString list[]用於箱子的戰利品表,格式為 filename.yml:weight
barrelLootTablesString list[]用於木桶的戰利品表,格式為 filename.yml:weight

戰利品表權重格式​

箱子和木桶的戰利品表項目使用 <loot_table_filename.yml>:<weight> 格式。當玩家開啟容器時,會根據加權機率選擇一個戰利品表。

範例:

chestLootTables:
- my_chest_high_loot_table.yml:.2
- my_chest_low_loot_table.yml:.2
barrelLootTables:
- kobold_mines_supplies_loot_table.yml:1

:weight 這一半是必填的,且必須是正數。冒號數量不是恰好一個、檔案名稱空白,或權重不是正數的項目會被略過並記錄警告。權重是彼此相對的,因此上面的範例讓兩張箱子戰利品表各占 50%。若檔案名稱在 loot_tables/ 中找不到對應檔案,啟動時會記錄警告並略過該項目;設為 isEnabled: false 的戰利品表也會被略過。若沒有剩下任何可用的戰利品表,右鍵點擊該類容器不會有任何作用。