EternalTD Commands
EternalTD registers the root command:
/eternaltd
/etd
The Nightbreak token command used during setup is separate:
/nightbreaklogin <token>
Setup and Content Management
| Command | Sender | Current purpose |
|---|---|---|
/etd | Any | Prints the current setup/content quick-start help. Although the command class sets eternaltd.*, the command manager's no-args path executes it without checking permissions, so it works for all senders. |
/etd initialize | Player | Not registered in the current build (hasPresetModes=false causes NightbreakPluginBootstrap to skip registering this command, and the first-time setup spec passes null for the initialize command so the setup warner does not reference it either). First-time setup is handled automatically or via /etd setup. |
/etd setup | Player | Opens the EternalTD package browser |
/etd downloadall | Any | Downloads all accessible EternalTD Nightbreak packages |
/etd updatecontent | Any | Downloads updates for outdated EternalTD packages |
/etd updateall | Any | Alias for /etd updatecontent |
/etd install | Any | Applies the official EternalTD resource-pack setup |
/etd reload | Any | Reloads imported EternalTD content and refreshes FMM imports if present |
Admin note:
- The setup/content commands above are currently coded as admin-facing commands.
setup,downloadall,updatecontent/updateall,reload,cheat,setwave,selectfloor,selectfloorcoordinates,register,register start, andregister endall require theeternaltd.*permission.initializeis not registered in the current build (hasPresetModes=false), so its permission does not apply.install,showselection,join,start/go, andquit/stopdo not requireeternaltd.*.- The base
/etdcommand (no subcommand) haseternaltd.*set on its command class, but the command manager's no-args dispatch path executes it without checking permissions. In practice it works for all senders.
Gameplay Commands
| Command | Sender | Current purpose |
|---|---|---|
/etd join <level> | Player | Starts a new level session from a loaded level file |
/etd start | Player | Starts the active session's first wave |
/etd go | Player | Alias for /etd start |
/etd quit | Player | Ends your current level session |
/etd stop | Player | Alias for /etd quit |
Debug and Admin Gameplay Commands
| Command | Sender | Current purpose |
|---|---|---|
/etd cheat | Player | Toggles cheat mode for the active session |
/etd setwave <wave> | Player | Skips the active session to a specific wave |
These are not normal player setup commands. They are session/debug tools.
Map Authoring Commands
These commands are still present in the current codebase for floor selection and level registration work.
| Command | Sender | Current purpose |
|---|---|---|
/etd selectfloor | Player | Starts or stops floor-corner selection with clicks |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Player | Sets the selection region directly from coordinates |
/etd showselection <level> | Player | Shows the current registered selection for a level |
/etd register <level> | Player | Registers the selected floor region to a level |
/etd register <level> start | Player | Adds a start location to a level |
/etd register <level> end | Player | Adds an end location to a level |
Notes
- EternalTD's
plugin.ymlonly declares the root command. Subcommands are registered through the command manager at runtime. - Some usage strings inside the current command classes still reference older command text. The command names documented on this page reflect the actual registered subcommands.