EternalTD 内容包
EternalTD 现在通过 content_packages 配置集跟踪官方内容,并通过 /etd setup 公开这些包。
包类别
当前代码使用三种包类别:
FREEPREMIUMRESOURCES
设置菜单当前将它们显示为:
Free ContentPremium PacksResources
已验证的预制包
以下是当前在仓库中定义的预制包:
| 包 | 类别 | 在 /etd setup 中可切换 | 跟踪的资产 |
|---|---|---|---|
EternalTD Hub World | Free | 否 | 服务器世界容器文件夹 etd_spawn |
EternalTD Tutorial | Free | 是 | tutorial.yml、tutorial_waves.yml、tutorial_npc.yml、etd_tutorial |
Towers of the Grassy Lands | Free | 是 | 5 个关卡文件、1 个波次文件、1 个 NPC 文件、5 个世界 |
Towers from the Depths | Premium | 是 | 5 个关卡文件、1 个波次文件、1 个 NPC 文件、5 个世界 |
Towers of the Rising Sun | Premium | 是 | 5 个关卡文件、1 个波次文件、1 个 NPC 文件、5 个世界 |
EternalTD Custom Models | Resources | 否 | 仅标记文件,加上存在时导入的 FreeMinecraftModels 内容 |
包生命周期
包浏览器当前区分以下状态:
- 未下载
- 未安装
- 已安装
- 部分安装
- 已过时且可更新
- 已过时但不可访问
- 需要访问权限
该状态根据磁盘上跟踪的资产、跟踪配置文件中的 isEnabled 标志以及 Nightbreak 访问/更新检查计算得出。
可切换包与共享包
可切换包通过在以下位置的跟踪配置文件中切换 isEnabled 来工作:
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
共享包的行为与普通切换不同:
- 大厅世界被视为共享已安装内容。
- 自定义模型包被视为共享资源内容。
对于这些包,设置菜单会告诉你手动删除文件,然后运行 /etd reload。
批量操作
目前实现了两种批量操作:
/etd downloadall/etd updatecontent
两个命令都:
- 需要已链接的 Nightbreak 令牌
- 下载到
plugins/EternalTD/imports - 跳过不可访问或已是最新版本的包
- 成功下载后自动重新加载 EternalTD
实用说明
- 包检查在批量下载/更新前按 Nightbreak slug 去重。
- 设置界面以冷却时间刷新内容和访问信息,而不是每次打开都查询 Nightbreak。
- 自定义模型包在
plugins/EternalTD/content_markers/下写入标记,以便 EternalTD 可以跟踪共享资源包是否已下载。