Saltar al contenido principal

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.

ComandoRemitenteFunción actual
/etdCualquieraMuestra 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 initializeJugadorAbre el menú de configuración inicial. Requiere eternaltd.*.
/etd setupJugadorAbre 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 recommendedpluginsCualquieraAbre (jugador) o muestra (consola) los plugins complementarios recomendados para EternalTD
/etd downloadpluginupdateCualquieraDescarga una actualización del plugin EternalTD si hay una disponible (se aplica tras el siguiente reinicio)
/etd downloadallCualquieraDescarga la actualización del plugin EternalTD y todo el contenido disponible
/etd downloadallcontentCualquieraDescarga todo el contenido disponible de EternalTD (sin actualización del plugin)
/etd updatecontentCualquieraDescarga actualizaciones para el contenido de EternalTD desactualizado
/etd updateallcontentCualquieraAlias de /etd updatecontent
/etd forcereinstallcontent <package&#124;all>CualquieraVuelve 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 installCualquieraAplica la configuración oficial del paquete de recursos de EternalTD
/etd reloadCualquieraReinicia EternalTD en el sitio (ciclo completo de deshabilitado, carga y habilitado)

Nota para administradores:

  • El plugin.yml de 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 end y el /etd a secas. (Los comandos compartidos de MagmaCore dividen esto en permisos de "admin", "setup" e "initialize", pero EternalTD pasa eternaltd.* 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 del plugin.yml de EternalTD.
  • initialize se registra mediante el bootstrap compartido y también requiere eternaltd.*; los modos predefinidos no controlan su registro.
  • Solo los comandos orientados al jugador están sin restricción: hub/lobby, join, start/go y quit/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

ComandoRemitenteFunción actual
/etd join <level>JugadorInicia 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 startJugadorInicia la primera oleada de la sesión activa
/etd goJugadorAlias de /etd start
/etd quitJugadorFinaliza tu sesión de nivel actual
/etd stopJugadorAlias de /etd quit
/etd hubJugadorTe 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 lobbyJugadorAlias de /etd hub

Comandos de depuración y administración de juego

ComandoRemitenteFunción actual
/etd cheatJugadorAlterna el modo de trampa para la sesión activa
/etd setwave <wave>JugadorSalta 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.

ComandoRemitenteFunción actual
/etd selectfloorJugadorInicia o detiene la selección de esquinas de piso con clics
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2>JugadorEstablece la región de selección directamente desde coordenadas
/etd showselection <level>JugadorComprueba la selección del suelo y la conserva. La vista previa de partículas está desactivada en la implementación actual.
/etd register <level>JugadorComprueba 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> startJugadorAñade el bloque sobre el que está parado el jugador a la lista startLocation del nivel
/etd register <level> endJugadorAñ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
FormaEfecto
/etdchangelogAbre las notas de versión de las versiones de EternalTD (y los paquetes de contenido rastreados) que aún no has leído
/etdchangelog dismissMarca como leídas las versiones mostradas actualmente y salta al siguiente lote no leído, si lo hay
/etdchangelog disableDetiene 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 a eternaltd.*.
  • 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.yml de EternalTD solo declara el comando raíz y el permiso eternaltd.*. Los subcomandos se registran a través del gestor de comandos en tiempo de ejecución.
  • /etd reload es 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, showselection y los comandos register se resuelven al autocompletar, no al iniciar el plugin, así que los niveles añadidos por una descarga o una recarga aparecen sin reiniciar.