EternalTD 內容包
EternalTD 現在透過 content_packages 設定集合追蹤官方內容,並透過 /etd setup 提供這些內容包。
內容包分類
目前程式碼使用三種內容包分類:
FREEPREMIUMRESOURCES
設定選單目前將它們顯示為:
Free ContentPremium PacksResources
已驗證的預製內容包
這些是目前儲存庫中定義的預製內容包:
| 內容包 | 分類 | 可在 /etd setup 中切換 | 追蹤的資源 |
|---|---|---|---|
EternalTD Hub World | Free | No | 伺服器世界容器資料夾 etd_spawn |
EternalTD Tutorial | Free | Yes | tutorial.yml、tutorial_waves.yml、tutorial_npc.yml、etd_tutorial |
Towers of the Grassy Lands | Free | Yes | 5 個關卡檔案、1 個 waves 檔案、1 個 NPC 檔案、5 個世界 |
Towers from the Depths | Premium | Yes | 5 個關卡檔案、1 個 waves 檔案、1 個 NPC 檔案、5 個世界 |
Towers of the Rising Sun | Premium | Yes | 5 個關卡檔案、1 個 waves 檔案、1 個 NPC 檔案、5 個世界 |
EternalTD Custom Models | Resources | No | 僅 marker 檔案,以及在存在時匯入的 FreeMinecraftModels 內容 |
內容包生命週期
目前內容包瀏覽器會區分:
- 未下載
- 未安裝
- 已安裝
- 部分安裝
- 已過期且可更新
- 已過期但無法存取
- 需要存取權限
此狀態會根據磁碟上的追蹤資源、追蹤設定檔中的 isEnabled 旗標,以及 Nightbreak 的存取/更新檢查來計算。
可切換內容包與共享內容包
可切換內容包透過切換以下路徑中追蹤設定檔內的 isEnabled 來運作:
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
共享內容包的行為與一般切換不同:
- hub world 被視為共享已安裝內容。
- 自訂模型內容包被視為共享資源內容。
對於這些內容包,設定選單會提示你手動移除檔案,然後執行 /etd reload。
批次操作
目前已實作兩個批次操作:
/etd downloadall/etd updatecontent
這兩個指令都會:
- 需要已連結的 Nightbreak token
- 下載到
plugins/EternalTD/imports - 略過無法存取或已經是最新版本的內容包
- 在成功下載後自動重新載入 EternalTD
實用說明
- 內容包檢查會在批次下載或更新前依 Nightbreak slug 去重。
- 設定介面會透過冷卻時間刷新內容與存取資訊,而不是每次開啟都查詢 Nightbreak。
- 自訂模型內容包會在
plugins/EternalTD/content_markers/下寫入 marker,讓 EternalTD 可以追蹤共享資源包是否已下載。