跳至主要內容

EternalTD 設定

目前的 EternalTD 設定流程圍繞 Nightbreak 管理的內容、透過 FreeMinecraftModels 提供的可選模型支援以及資源包輔助指令建構。

需求

  • EternalTD;本指南依據目前的原始碼 1.7.5
  • Java 21
  • 運行目前 1.21.4 API 線的 Paper/Spigot 相容伺服器

可選整合:

  • FreeMinecraftModels 用於 EternalTD 的自訂模型
  • ResourcePackManager 如果你希望 EternalTD 將其官方資源包註冊到該插件而不是寫入 server.properties
  • FloodgateLibsDisguises 是軟依賴,不是目前設定流程的必要條件

plugin.yml 恰好宣告四個軟依賴:FreeMinecraftModelsLibsDisguisesFloodgateResourcePackManager。插件中已不再有任何地方參考 ModelEngine。

EternalTD 建立的內容

啟動時,EternalTD 初始化或使用以下路徑:

plugins/EternalTD/config.yml
plugins/EternalTD/content_packages/
plugins/EternalTD/imports/
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

舊版說明:

  • 插件現在將 levels/npcs/ 作為規範資料夾名稱。
  • 在啟動和重新載入時,它會自動將舊版的 Levels/NPCs/ 資料夾遷移到小寫路徑。
  1. 安裝 EternalTD 並啟動伺服器一次。
  2. 使用 /nightbreaklogin <token> 連結你的 Nightbreak 帳戶。
  3. 執行 /etd downloadall 將所有可存取的 EternalTD 套件下載到 plugins/EternalTD/imports
  4. 執行 /etd install 套用官方 EternalTD 資源包設定。
  5. 隨時執行 /etd setup 來瀏覽、啟用、停用或更新個別套件。

/nightbreaklogin <token> 是共享的 Nightbreak/MagmaCore 帳戶流程的一部分,不是在 EternalTD 的 plugin.yml 中宣告的指令。

/etd setup 選單

/etd setup 會開啟共享的 MagmaCore 設定選單。除了 EternalTD 內容套件(依 Free ContentPremium PacksResources 篩選)之外,該選單還公開以下標準 MagmaCore 控制項:

  • 一個 Plugin Update 條目,顯示已安裝的 EternalTD 版本與最新版本的對比,並在有可用更新時下載插件更新,
  • 一個 Recommended Plugins 條目,開啟搭配插件推薦檢視(也可透過 /etd recommendedplugins 進入),
  • 一個 Automatic Updates 切換按鈕,用於將 nightbreak.autoDownloadPluginUpdates 設定值開啟或關閉,
  • 一個 Download All 條目,執行 /etd downloadall(插件更新加上所有可用內容)。

重生點和大廳行為

config.yml 目前包含:

  • setupDone — 追蹤是否已完成首次設定指引的旗標(預設 false)。
  • spawnLocations — 預設為 etd_spawn,0,65,0,0,0,並且一定會寫入設定檔。EternalTD 只有在 etd_spawn 世界存在時才會解析並使用它。
  • manageSpawn — 預設為 true。在 EternalTD 大廳世界可用時,將加入的玩家傳送至該世界。
  • playerGuide — 遊戲內指南書文字。
  • nightbreak.autoDownloadPluginUpdates — 預設為 false。共享的 MagmaCore 設定;當設為 true 時,插件會在啟動時自動下載可用的插件和內容更新(於下次重啟後生效)。也可在遊戲內從 /etd setup 選單的「Automatic Updates」按鈕切換。

manageSpawn: trueetd_spawn 世界存在時,加入的玩家會被傳送到設定的 EternalTD 重生點位置。

官方大廳套件與遊戲地圖分開追蹤,作為 etd_spawn 世界安裝在伺服器的世界容器中。

在 Paper 26.1 及更新版本上,世界會從世界容器根目錄遷移到 <level-name>/dimensions/minecraft/<world>。EternalTD 會同時在舊版根目錄和遷移後的位置尋找 etd_spawn,因此已遷移的大廳仍會被偵測為已安裝並載入。遷移到一半的殘留檔案會在世界建立前被隔離,因為 Paper 的遷移機制拒絕把緊鄰已遷移副本的舊版副本合併起來。

匯入後重新載入

在手動匯入或手動檔案清理後使用 /etd reload

/etd reload 是插件的完整就地重啟 — 它會執行 EternalTD 的停用、載入和啟用路徑 — 因此啟動時做的每件事都會再做一次:

  • 舊版的 Levels/NPCs/ 資料夾會遷移為小寫
  • 匯入器重新執行
  • 內容套件、波次、關卡、世界範本和 NPC 重新載入
  • 套件更新/存取狀態重新整理
  • 資源包輔助工具重新初始化

有兩個值得知道的後果:

  • 任何進行中的關卡工作階段都會被拆除,因為重新載入會走插件的正常關閉流程。
  • /etd reload 不會重新載入 FreeMinecraftModels。如果你手動匯入了模型資產,請用 FMM 自己的指令重新載入其內容。

已在線上的玩家

manageSpawn 通常會在玩家加入時將其傳送到大廳,但在 EternalTD 仍在初始化期間連線的玩家會錯過這個動作(大廳世界和加入監聽器要等初始化完成後才存在)。初始化完成時,EternalTD 會掃過所有已在線上的玩家,把任何尚未位於大廳世界的人傳送到設定的重生點。