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 跟踪共享资源包是否已下载。