跳到主要内容

EternalTD 设置

当前的 EternalTD 设置流程围绕 Nightbreak 管理的内容、通过 FreeMinecraftModels 提供的可选模型支持以及资源包辅助命令构建。

要求

  • EternalTD 1.7.1
  • Java 21
  • 运行当前 1.21.4 API 线的 Paper/Spigot 兼容服务器

可选集成:

  • FreeMinecraftModels 用于 EternalTD 的自定义模型
  • ResourcePackManager 如果你希望 EternalTD 将其官方资源包注册到该插件而不是写入 server.properties
  • FloodgateModelEngineLibsDisguises 是软依赖,不是当前设置流程的必要条件

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。仅在 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 会扫描所有已经在线的玩家,并将尚未处于大厅世界中的玩家传送到配置的出生点。