EternalTD 命令
EternalTD 注册根命令:
/eternaltd
/etd
设置期间使用的 Nightbreak 令牌命令是独立的:
/nightbreaklogin <token>
设置和内容管理
这些子命令大多由 MagmaCore 通过 NightbreakPluginBootstrap.registerStandardCommands 注册。它们在所有 Nightbreak 插件之间共享,并随 EternalTD 一起发布,因为 MagmaCore 被着色(shade)进了该插件。
| 命令 | 发送者 | 当前用途 |
|---|---|---|
/etd | 任何人 | 输出当前设置/内容快速入门帮助。尽管该命令类设置了 eternaltd.*,但命令管理器的无参数路径会在不检查权限的情况下执行它,因此它对所有发送者都有效。 |
/etd initialize | 玩家 | 在当前版本中未注册(hasPresetModes=false 使 NightbreakPluginBootstrap 跳过注册此命令,且首次设置规范为 initialize 命令传入了 null,因此设置提醒器也不会引用它)。首次设置由系统自动处理或通过 /etd setup 进行。 |
/etd setup | 玩家 | 打开 EternalTD 设置菜单(包浏览器,加上共享的插件更新、推荐插件和自动更新控制项) |
/etd recommendedplugins | 任何人 | 打开(玩家)或输出(控制台)EternalTD 的推荐配套插件 |
/etd downloadpluginupdate | 任何人 | 如果有可用的 EternalTD 插件更新,则下载它(在下次重启后生效) |
/etd downloadall | 任何人 | 下载 EternalTD 插件更新以及所有可用内容 |
/etd downloadallcontent | 任何人 | 下载所有可用的 EternalTD 内容(不含插件更新) |
/etd updatecontent | 任何人 | 下载过时的 EternalTD 内容的更新 |
/etd updateallcontent | 任何人 | /etd updatecontent 的别名 |
/etd install | 任何人 | 应用官方 EternalTD 资源包设置 |
/etd reload | 任何人 | 重新加载导入的 EternalTD 内容,如果存在则刷新 FMM 导入 |
管理员注意事项:
- 上述设置/内容命令目前被编码为面向管理员的命令。
setup、recommendedplugins、downloadall、downloadallcontent、updatecontent/updateallcontent、reload、cheat、setwave、selectfloor、selectfloorcoordinates、register、register start和register end都需要eternaltd.*权限。(downloadpluginupdate和downloadall使用管理员权限;setup、recommendedplugins、downloadallcontent和updatecontent使用设置权限 —— 对 EternalTD 而言两者都是eternaltd.*,因此实际要求相同。)initialize在当前版本中未注册(hasPresetModes=false),因此其权限不适用。install、hub/lobby、showselection、join、start/go和quit/stop不需要eternaltd.*。- 基础的
/etd命令(无子命令)在其命令类上设置了eternaltd.*,但命令管理器的无参数分发路径会在不检查权限的情况下执行它。实际上它对所有发送者都有效。
游戏命令
| 命令 | 发送者 | 当前用途 |
|---|---|---|
/etd join <level> | 玩家 | 从已加载的关卡文件开始新的关卡会话 |
/etd start | 玩家 | 开始活跃会话的第一波 |
/etd go | 玩家 | /etd start 的别名 |
/etd quit | 玩家 | 结束你当前的关卡会话 |
/etd stop | 玩家 | /etd quit 的别名 |
/etd hub | 玩家 | 将你传送回 EternalTD 大厅出生点。如果在游戏过程中运行,则会先干净地结束活跃会话(恢复物品栏、移除塔、删除实例世界)。需要在 config.yml 中配置大厅出生点。 |
/etd lobby | 玩家 | /etd hub 的别名 |
调试和管理员游戏命令
| 命令 | 发送者 | 当前用途 |
|---|---|---|
/etd cheat | 玩家 | 切换活跃会话的作弊模式 |
/etd setwave <wave> | 玩家 | 将活跃会话跳转到特定波次 |
这些不是普通的玩家设置命令。它们是会话/调试工具。
地图创作命令
这些命令仍然存在于当前代码库中,用于地板选择和关卡注册工作。
| 命令 | 发送者 | 当前用途 |
|---|---|---|
/etd selectfloor | 玩家 | 通过点击开始或停止地板角落选择 |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | 玩家 | 直接从坐标设置选择区域 |
/etd showselection <level> | 玩家 | 针对某个关卡验证当前的地板选择(保留选择) |
/etd register <level> | 玩家 | 针对某个关卡验证当前的地板选择,然后清除选择。在当前版本中,此命令仅执行可视化检查 —— 本应将 levelLocations 持久化到 YAML 的辅助方法(LevelsConfigFields#addLevelLocations)已定义但没有任何命令调用它,因此此命令尚未保存地板区域。 |
/etd register <level> start | 玩家 | 将玩家当前所站的方块添加到关卡的 startLocation 列表中 |
/etd register <level> end | 玩家 | 将玩家当前所站的方块添加到关卡的 endLocation 列表中 |
注意事项
- EternalTD 的
plugin.yml只声明根命令。子命令在运行时通过命令管理器注册。 - 当前命令类中的一些用法字符串仍然引用旧的命令文本。此页面上记录的命令名称反映了实际注册的子命令。