Comandos de EternalTD
EternalTD registra el comando raíz:
/eternaltd
/etd
Los comandos de cuenta de Nightbreak que se usan durante la configuración son comandos de nivel superior independientes registrados por MagmaCore:
/nightbreaklogin <token>
/nightbreaklogout
Ambos están protegidos por nightbreak.login (default: op). /nightbreaklogout borra del servidor el token de cuenta de Nightbreak almacenado.
MagmaCore también registra un comando de changelog por plugin, /etdchangelog, como su propio comando de nivel superior (ver Changelog de versiones).
Configuración y gestión de contenido
La mayoría de estos subcomandos son registrados por MagmaCore a través de NightbreakPluginBootstrap.registerStandardCommands. Se comparten entre todos los plugins de Nightbreak y se incluyen dentro de EternalTD porque MagmaCore está integrado (shaded) en el plugin.
| Comando | Remitente | Función actual |
|---|---|---|
/etd | Cualquiera | Muestra la ayuda rápida de configuración/contenido actual. Ahora exige realmente eternaltd.*: un remitente sin ese permiso recibe "You do not have permission to run this command!" |
/etd initialize | Jugador | Abre el menú de configuración inicial. Requiere eternaltd.*. |
/etd setup | Jugador | Abre el menú de configuración de EternalTD (el explorador de paquetes más los controles compartidos de actualización del plugin, plugins recomendados y actualizaciones automáticas) |
/etd recommendedplugins | Cualquiera | Abre (jugador) o muestra (consola) los plugins complementarios recomendados para EternalTD |
/etd downloadpluginupdate | Cualquiera | Descarga una actualización del plugin EternalTD si hay una disponible (se aplica tras el siguiente reinicio) |
/etd downloadall | Cualquiera | Descarga la actualización del plugin EternalTD y todo el contenido disponible |
/etd downloadallcontent | Cualquiera | Descarga todo el contenido disponible de EternalTD (sin actualización del plugin) |
/etd updatecontent | Cualquiera | Descarga actualizaciones para el contenido de EternalTD desactualizado |
/etd updateallcontent | Cualquiera | Alias de /etd updatecontent |
/etd forcereinstallcontent <package|all> | Cualquiera | Vuelve a descargar contenido a través del canal normal autenticado de importación/recarga incluso cuando la versión instalada ya está al día. all cubre todos los paquetes detectados como descargados; un slug de Nightbreak (con autocompletado) apunta a un solo paquete y funciona aunque sus archivos falten por completo. Úsalo para reparar un paquete cuyos archivos fueron borrados o se corrompieron. |
/etd install | Cualquiera | Aplica la configuración oficial del paquete de recursos de EternalTD |
/etd reload | Cualquiera | Reinicia EternalTD en el sitio (ciclo completo de deshabilitado, carga y habilitado) |
Nota para administradores:
- El
plugin.ymlde EternalTD declara un único nodo de permiso,eternaltd.*(default: op), descrito como el que concede acceso a los comandos de administración, configuración y depuración. - Todo lo orientado a administradores se resuelve en ese único nodo:
setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,updatecontent/updateallcontent,forcereinstallcontent,install,reload,cheat,setwave,selectfloor,selectfloorcoordinates,showselection,register,register start,register endy el/etda secas. (Los comandos compartidos de MagmaCore dividen esto en permisos de "admin", "setup" e "initialize", pero EternalTD pasaeternaltd.*para los tres, así que el requisito efectivo es idéntico.) - Los dos comandos de cuenta de Nightbreak usan su propio nodo,
nightbreak.login(default: op), que MagmaCore registra en tiempo de ejecución en lugar de a través delplugin.ymlde EternalTD. initializese registra mediante el bootstrap compartido y también requiereeternaltd.*; los modos predefinidos no controlan su registro.- Solo los comandos orientados al jugador están sin restricción:
hub/lobby,join,start/goyquit/stop. - El autocompletado del primer argumento también se filtra por permiso, así que los jugadores sin
eternaltd.*solo ven los subcomandos orientados al jugador.
Comandos de juego
| Comando | Remitente | Función actual |
|---|---|---|
/etd join <level> | Jugador | Inicia una nueva sesión de nivel desde un archivo de nivel cargado. El mundo plantilla se copia fuera del hilo principal, así que el comando responde primero "Preparing world - hang tight!" y luego "Created your world! We're ready to go." una vez la instancia está en marcha. Ejecutarlo de nuevo mientras hay una copia en curso se rechaza con "Your level is already being prepared. Please wait!" |
/etd start | Jugador | Inicia la primera oleada de la sesión activa |
/etd go | Jugador | Alias de /etd start |
/etd quit | Jugador | Finaliza tu sesión de nivel actual |
/etd stop | Jugador | Alias de /etd quit |
/etd hub | Jugador | Te teletransporta de vuelta al spawn del hub de EternalTD. Si se ejecuta a mitad de una partida, la sesión activa se finaliza de forma limpia primero (inventario restaurado, torres eliminadas, mundo de la instancia borrado). Requiere que el spawn del hub esté configurado en config.yml; si el servidor rechaza el teletransporte, el comando informa de ese fallo en lugar de afirmar que tuvo éxito. |
/etd lobby | Jugador | Alias de /etd hub |
Comandos de depuración y administración de juego
| Comando | Remitente | Función actual |
|---|---|---|
/etd cheat | Jugador | Alterna el modo de trampa para la sesión activa |
/etd setwave <wave> | Jugador | Salta a una oleada específica en la sesión activa |
Estos no son comandos normales de configuración de jugadores. Son herramientas de sesión/depuración.
Comandos de creación de mapas
Estos comandos siguen presentes en la base de código actual para la selección de pisos y el trabajo de registro de niveles.
| Comando | Remitente | Función actual |
|---|---|---|
/etd selectfloor | Jugador | Inicia o detiene la selección de esquinas de piso con clics |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Jugador | Establece la región de selección directamente desde coordenadas |
/etd showselection <level> | Jugador | Comprueba la selección del suelo y la conserva. La vista previa de partículas está desactivada en la implementación actual. |
/etd register <level> | Jugador | Comprueba la selección y después la borra. No muestra partículas ni guarda levelLocations; escribe la región del suelo manualmente en el YAML del nivel. |
/etd register <level> start | Jugador | Añade el bloque sobre el que está parado el jugador a la lista startLocation del nivel |
/etd register <level> end | Jugador | Añade el bloque sobre el que está parado el jugador a la lista endLocation del nivel |
Changelog de versiones
MagmaCore registra un comando de nivel superior extra por cada plugin de Nightbreak, nombrado a partir del comando raíz más changelog:
/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
| Forma | Efecto |
|---|---|
/etdchangelog | Abre las notas de versión de las versiones de EternalTD (y los paquetes de contenido rastreados) que aún no has leído |
/etdchangelog dismiss | Marca como leídas las versiones mostradas actualmente y salta al siguiente lote no leído, si lo hay |
/etdchangelog disable | Detiene permanentemente el aviso de changelog para ese jugador |
Comportamiento que conviene conocer:
- El comando es solo para jugadores y solo para administradores. "Administrador" aquí significa op,
eternaltd.*, o cualquiera de los permisos admin/setup/initialize de la especificación — los tres los establece EternalTD aeternaltd.*. - Los administradores que entran al servidor reciben un aviso en el chat con un botón view clicable aproximadamente 2 segundos después de iniciar sesión, pero solo cuando hay algo sin leer y no han ejecutado
disable. - El estado de leído/descartado, la versión desde la que empezó el seguimiento y el texto de las notas en caché residen en
plugins/EternalTD/nightbreak-changelogs.yml. - Si otro plugin ya posee la etiqueta
etdchangelog, MagmaCore registra en su lugar una alternativa con espacio de nombres (eternaltd:etdchangelog).
Notas
- El
plugin.ymlde EternalTD solo declara el comando raíz y el permisoeternaltd.*. Los subcomandos se registran a través del gestor de comandos en tiempo de ejecución. /etd reloades un reinicio real del plugin: llama a la ruta de deshabilitado, carga y habilitado del plugin en lugar de una reimportación ligera de contenido. Todo lo que hace el arranque (migración de carpetas, importador, paquetes de contenido, oleadas, niveles, plantillas de mundo, NPCs, auxiliar del paquete de recursos) vuelve a ejecutarse. No llama a la ruta de recarga de FreeMinecraftModels — el método que lo haría está presente en el código fuente, pero nada lo invoca.- Los argumentos de nombre de nivel en
join,showselectiony los comandosregisterse resuelven al autocompletar, no al iniciar el plugin, así que los niveles añadidos por una descarga o una recarga aparecen sin reiniciar.