手動匯入與遊戲內管理
Nightbreak 管理的外掛程式現在優先使用遊戲內設定和內容管理,但手動匯入仍然作為備用方案存在。
推薦:遊戲內管理
當您需要以下功能時,請使用設定選單加上已連結的 Nightbreak 權杖:
- 存取感知的內容瀏覽
- 一鍵或選單引導的安裝
- 批次下載和更新命令
- 自動過時套件檢查
- 與當前程式碼庫匹配的工作流程
以下外掛程式的首選路徑:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
這六者全部都會執行共享匯入器,因此六者也都接受下方的手動備用方案。
備用方案:手動匯入
手動匯入在以下情況下仍然有用:
- 您已經下載了套件的 zip 檔案
- 您正在伺服器之間移動檔案
- 您想在測試期間脫離 Nightbreak 離線工作
- 套件被有意在遊戲內下載路徑之外分發
Nightbreak 的批次下載也會進入外掛程式的 imports 資料夾。區別在於遊戲內路徑會為您處理存取檢查和下載步驟。
匯入資料夾對照表
| 外掛程式 | 匯入資料夾 |
|---|---|
| EliteMobs | plugins/EliteMobs/imports |
| BetterStructures | plugins/BetterStructures/imports |
| FreeMinecraftModels | plugins/FreeMinecraftModels/imports |
| EternalTD | plugins/EternalTD/imports |
| ResurrectionChest | plugins/ResurrectionChest/imports |
| WorldCannon | plugins/CannonRTP/imports |
WorldCannon 的外掛程式資料夾名為 CannonRTP —— 那是該外掛程式的內部名稱,
它的 imports 資料夾與已安裝內容都放在那裡。
手動匯入規則
- 除非外掛程式特定文件另有說明,否則保持下載的套件為壓縮狀態。
- 將套件放入正確的
imports資料夾。 - 如果外掛程式特定文件要求,請重新載入或重新啟動外掛程式。
- 之後重新開啟設定選單以確認安裝狀態。
共享匯入器可以處理:
- 放置在
imports中的.zip套件 - 如果包含
pack.meta,則可處理某些已解壓縮的資料夾 FreeMinecraftModels的.bbmodel檔案
封存檔會被解壓縮到 imports 內的一個隱藏暫存資料夾中,並僅從該處安裝。匯入器會在成功或失敗後刪除該暫存資料夾,因此一般的匯入失敗只會留下原本的 zip 供你重試,而不會在它旁邊留下可見的半解壓套件。
匯入器接受什麼
pack.meta 決定內容的去向
套件可以在頂層提供一個 pack.meta 檔案,指名它所針對的外掛程式平台 —— elitemobs、betterstructures、freeminecraftmodels、eternaltd、extractioncraft、resurrectionchest、megablocksurvivors 或 worldcannon(同時也接受 cannonrtp 或 world_cannon)。該名稱以不分大小寫的方式比對,且會忽略前後空白、換行符號與開頭的位元組順序標記,因此由 Windows 編輯器儲存的檔案也能正常運作。
若封存檔沒有 pack.meta,它會被視為屬於它被丟入之 imports 資料夾所屬外掛程式的套件。
若 pack.meta 指名了匯入器不認得的東西,該套件會被拒絕,而 zip 會被保留在 imports 中,讓你修正後再試一次。
頂層資料夾名稱必須被辨識
匯入器會依名稱把套件中的每個頂層資料夾路由到目的地。有些名稱適用於所有平台:
| 資料夾 | 去向 |
|---|---|
worldcontainer | 伺服器的世界容器(每個子資料夾成為一個世界) |
models 或 modelengine | FreeMinecraftModels 的 models 資料夾;若只安裝了 ModelEngine 則為其 blueprints 資料夾 |
scripts | plugins/FreeMinecraftModels/scripts |
freeminecraftmodels、elitemobs、betterstructures | 該外掛程式的資料夾(plugins/FreeMinecraftModels、plugins/EliteMobs 或 plugins/BetterStructures)。請依照資料夾本身的結構安排內容,例如 freeminecraftmodels/enchantments/ |
pack.meta | 忽略 —— 它是中繼資料,不是內容 |
freeminecraftmodels/models/ 下的模型會進入 FreeMinecraftModels 實際讀取的模型資料夾,包括較舊安裝中的 Models 資料夾。
其他所有頂層資料夾,匯入器都會依套件所針對的平台解析。除非下表另有說明,每個資料夾都會進入該外掛程式資料夾中同名的資料夾:
| 平台 | 屬於該外掛程式的資料夾 | 屬於其他外掛程式的資料夾 |
|---|---|---|
elitemobs | custombosses、customitems、customtreasurechests、content_packages(dungeonpackages 也會放到這裡)、customevents、customspawns、customquests、customarenas、npcs、npc_scripts、behaviors、transport_routes、transport_networks、wormholes、powers、world_blueprints、resource_pack、enchantments | 無 |
betterstructures | content_packages、schematics、spawn_pools、components、modules、module_generators、treasures、generators | EliteMobs:custombosses、customitems、customtreasurechests、powers、enchantments |
freeminecraftmodels | content_packages、recipes、enchantments | EliteMobs:customitems,未啟用 EliteMobs 時略過 |
eternaltd | npcs、levels、waves、worlds、content_packages、content_markers | 無 |
resurrectionchest | content_packages | 無 |
worldcannon | content_packages、cannons(fun_rtps 也會放到這裡),以及代表資料夾本身(plugins/CannonRTP)的 cannonrtp、worldcannon 或 world_cannon | 無 |
extractioncraft | content_packages、loot_pools、loot_tables | EliteMobs:customquests、npcs、custombosses、customitems、customtreasurechests、powers、enchantments、npc_scripts、behaviors。BetterStructures:schematics、spawn_pools、components、modules、module_generators、treasures、generators |
megablocksurvivors | content_packages、npcs、schematics、worlds、content_markers,以及代表資料夾本身(plugins/MegaBlockSurvivors)的 megablocksurvivors | 無 |
enchantments/ 資料夾存放附魔定義及其本地 Lua 效果,絕不使用全域 scripts/ 路徑。若要在其他平台的套件中附帶 FreeMinecraftModels 附魔,請使用 freeminecraftmodels/enchantments/。
匯入器在該平台上無法辨識的頂層資料夾,會導致整個套件被拒絕而非部分安裝,且封存檔會被保留。若你的套件無法匯入,主控台會指出有問題的資料夾。
匯入至其他外掛程式的資料夾
外掛程式會在啟動或重新載入時讀取其內容資料夾。當套件將檔案匯入另一個外掛程式的資料夾時:
- FreeMinecraftModels 會自動重新載入匯入的內容。
- BetterStructures 會在自身啟動完成後重新載入新內容。若 10 分鐘後仍在啟動中,主控台會要求你執行
/bs reload。 - 匯入 EliteMobs 內容的 BetterStructures 套件會重新載入 EliteMobs。
- Extractioncraft 匯入套件時會重新載入 BetterStructures;如果套件新增了 EliteMobs 內容,也會重新載入 EliteMobs。
其他情況下,請重新載入或重新啟動擁有該資料夾的外掛程式。
更新已載入的世界
取代已載入的世界前,匯入器會將其中的玩家傳送至另一個已載入世界的出生點,並要求伺服器卸載目標世界。如果沒有其他可用世界、傳送失敗或伺服器拒絕卸載,匯入會停止並保留封存檔。重試前,請將玩家移出並解決回報的問題。
匯入中的已停用檔案
所屬外掛程式會在匯入前後檢查已停用的設定格式。符合條件的檔案保存在 plugins/MagmaCore/outdated files/ 中,位於使用中內容資料夾之外。如果舊套件安裝了已停用的內容,請下載更新版本。參閱已停用的設定檔。
套件更新停止提供的檔案
匯入只會複製並覆寫檔案,因此單靠匯入本身,會留下新版套件已經移除的檔案,而外掛程式會繼續載入它。所以 MagmaCore 會在 plugins/MagmaCore/import manifests/ 中記錄每個套件安裝到 plugins 資料夾下的檔案,每個套件一個 JSON 檔。它以去掉 .zip 和結尾版本號(例如 _v22)後的 zip 或資料夾名稱作為套件名稱,因此 the-vampire-manor_v22.zip 與 the-vampire-manor_v23.zip 是同一個套件。
當該套件的下一次匯入不再提供上一次匯入所安裝的某個檔案時,匯入器會把該檔案移到 plugins/MagmaCore/outdated files/<plugin folder>/<time>-<package>/,並保留它在外掛程式資料夾內的路徑,主控台會列出被移動的檔案。這個移動屬於匯入交易的一部分,因此匯入失敗時會把檔案放回原處。檔案是被移動而不是被刪除,所以你對它們所做的修改會留在封存的副本中。
在下列情況下,檔案會留在原處:
- 另一個套件的記錄仍然列出它
- 上一次與目前的匯入沒有任何共通檔案,這代表無關的套件重複使用了相同的名稱
- 它位於
plugins資料夾之外,例如世界資料夾,匯入會整個取代它們
套件第一次被記錄的匯入不會封存任何東西。清理要從它的下一次更新才開始。
匯入失敗會回滾
如果回滾不完整,MagmaCore 會保留復原目錄,並記錄其路徑及無法還原的目標。請保留這些復原檔案,解決回報的問題後再重試匯入。
匯入會以單一交易的方式套用。既有檔案在被取代前會先備份,被取代的世界資料夾是被移到旁邊而非刪除,而中途任何失敗都會還原該套件曾動過的每個目的地。zip 會留在 imports 中,供解決錯誤後重試。如果回滾本身遇到檔案系統錯誤,主控台會明確回報回滾並未完成,並提示你先檢查記錄中的目的地再行重試。
封存檔只有在匯入完全提交之後才會被刪除。如果你在重新載入之後仍看到某個套件留在 imports 中,那就是匯入器在告訴你它沒有安裝成功 —— 請查看主控台了解原因。
重要區別
遊戲內路徑
- 權杖感知
- 可以顯示鎖定和過時的內容
- 批次操作後通常自動重新載入
- 反映當前預期的管理工作流程
手動路徑
- 無需遊戲內下載存取即可運作
- 需要您自己管理 zip 檔案
- 可能仍需要外掛程式重新載入
- 根據外掛程式不同,可能會將內容留在已下載但未啟用的狀態
- 可能會暴露遊戲內存取流程通常在安裝時才會顯示的套件結構問題