Comandos de EternalTD
EternalTD registra el comando principal:
/eternaltd
/etd
Los comandos de cuenta de Nightbreak usados durante la configuración son independientes y los registra MagmaCore:
/nightbreaklogin [token]
/nightbreaklogout
Ambos exigen nightbreak.login, con default: op. /nightbreaklogin sin token imprime un enlace de nightbreak.io; cuando lo apruebas allí, el servidor queda vinculado. /nightbreaklogout borra el token de Nightbreak guardado en el servidor.
MagmaCore también registra /etdchangelog como comando independiente de novedades del plugin; consulta Novedades de versiones.
Configuración y gestión de contenido
MagmaCore registra la mayoría de estos subcomandos mediante NightbreakPluginBootstrap.registerStandardCommands. Se comparten entre los plugins de Nightbreak y se incluyen en EternalTD porque MagmaCore está integrado en su JAR.
| Comando | Emisor | Función actual |
|---|---|---|
/etd | Cualquiera | Muestra la ayuda rápida de configuración y contenido. Exige eternaltd.*; si falta, avisa de que no tienes permiso para ejecutar el comando. |
/etd initialize | Jugador | Abre el menú de configuración inicial. Exige eternaltd.*. |
/etd setup | Jugador | Abre el explorador de paquetes y los controles compartidos de actualización del plugin, recomendaciones y actualizaciones automáticas |
/etd recommendedplugins | Cualquiera | Abre para jugadores o imprime en la consola los plugins complementarios recomendados |
/etd downloadpluginupdate | Cualquiera | Descarga una actualización de EternalTD si está disponible. Se usa tras el siguiente reinicio, salvo que nightbreak.applyPluginUpdatesWithoutRestart la aplique antes |
/etd applypluginupdate | Cualquiera | Aplica una actualización de EternalTD ya descargada sin reiniciar. EternalTD se deshabilita y se vuelve a habilitar con el nuevo JAR, así que los niveles en curso terminan. Se rechaza cuando no hay ninguna actualización más reciente en espera, cuando ya hay otro cambio de plugin en curso o cuando un plugin de otro autor depende de EternalTD; si el nuevo JAR no consigue habilitarse, se vuelve a cargar el JAR anterior |
/etd downloadall | Cualquiera | Descarga la actualización de EternalTD y todo el contenido disponible |
/etd downloadallcontent | Cualquiera | Descarga todo el contenido disponible sin actualizar el plugin |
/etd updatecontent | Cualquiera | Descarga actualizaciones de contenido desactualizado |
/etd updateallcontent | Cualquiera | Alias de /etd updatecontent |
/etd forcereinstallcontent <package|all> | Cualquiera | Vuelve a descargar contenido mediante el proceso normal autenticado de importación y recarga aunque la versión instalada ya esté actualizada. all abarca todos los paquetes detectados como descargados; un slug de Nightbreak, con autocompletado, selecciona uno y funciona aunque falten todos sus archivos. Úsalo para reparar paquetes con archivos eliminados o dañados. |
/etd install | Cualquiera | Registra el paquete oficial en ResourcePackManager y solicita su recarga si está disponible. De lo contrario descarga el paquete, calcula su hash y actualiza server.properties; esa vía requiere reiniciar el servidor. Si el registro falla, también recurre a server.properties. |
/etd reload | Cualquiera | Reinicia EternalTD dentro del servidor con un ciclo completo de deshabilitación, carga y habilitación |
Notas para administradores:
- El
plugin.ymlde EternalTD declara dos nodos de permiso, ambos condefault: op.eternaltd.*concede los comandos de administración, configuración y depuración.eternaltd.match.bypasspermite a un jugador teletransportarse al mundo de un nivel en curso de otro jugador sin que lo expulsen (consulta Reglas de la partida). - Todos los comandos administrativos usan
eternaltd.*:setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,applypluginupdate,updatecontent/updateallcontent,forcereinstallcontent,install,reload,cheat,setwave,selectfloor,selectfloorcoordinates,showselection,register,register start,register endy/etdsin argumentos. MagmaCore distingue permisos de administración, configuración e inicialización, pero EternalTD usaeternaltd.*para los tres, por lo que el requisito efectivo es idéntico. - Los dos comandos de cuenta de Nightbreak usan
nightbreak.login, condefault: op, registrado por MagmaCore durante la ejecución y no mediante elplugin.ymlde EternalTD. - La inicialización compartida registra
initialize, que también exigeeternaltd.*; los modos predefinidos no controlan su registro. - Solo carecen de restricción los comandos de jugador:
hub/lobby,join,start/goyquit/stop. - El autocompletado del primer argumento se filtra por permiso, por lo que quienes no tengan
eternaltd.*solo ven los subcomandos de jugador.
Comandos de juego
| Comando | Emisor | Función actual |
|---|---|---|
/etd join <level> | Jugador | Solicita una sesión desde un archivo de nivel cargado. La plantilla se copia fuera del hilo principal. Espera a "Created your world! We're ready to go." antes de empezar; el mensaje previo "Joined level!" no confirma el éxito y puede aparecer incluso después de un error de preparación. Se rechaza una segunda solicitud pendiente, así como la de un jugador que ya esté en una partida, aunque sea de otro plugin de Nightbreak. Desconectarse, o pasar 10 minutos sin que el mundo esté listo, cancela la preparación. |
/etd start | Jugador | Inicia la primera oleada de la sesión activa |
/etd go | Jugador | Alias de /etd start |
/etd quit | Jugador | Termina tu sesión de nivel actual |
/etd stop | Jugador | Alias de /etd quit |
/etd hub | Jugador | Te devuelve al punto configurado del centro de reunión de EternalTD. Primero termina la sesión activa, restaura el estado del jugador, elimina las torres y solicita limpiar la instancia. Si el centro no está configurado, se detiene antes de terminar la sesión. Informa de los teletransportes rechazados. |
/etd lobby | Jugador | Alias de /etd hub |
Comandos de juego para depuración y administración
| Comando | Emisor | Función actual |
|---|---|---|
/etd cheat | Jugador | Alterna el modo de trampas y establece 10.000.000 de moneda y 1.000.000 de vidas en cada ejecución, también al desactivarlo. Marca permanentemente la partida como con trampas y la excluye de los récords. |
/etd setwave <wave> | Jugador | Establece el contador de oleada guardado y marca la partida como con trampas. No reemplaza los enemigos actuales ni inicia inmediatamente la oleada indicada; la siguiente transición normal usa el contador más uno. |
Son herramientas de sesión y depuración. Con las trampas activas, construir y mejorar no descuenta moneda, aunque se sigue comprobando si tienes suficiente. Desactivarlas no recupera la posibilidad de registrar récords. setwave acepta un entero sin comprobar que exista una oleada correspondiente.
Comandos de creación de mapas
Estos comandos siguen disponibles para seleccionar suelos y registrar niveles.
| Comando | Emisor | Función actual |
|---|---|---|
/etd selectfloor | Jugador | Alterna la selección de suelo. Clic izquierdo en un bloque para la esquina 1 y derecho para la 2, como indica el mensaje introductorio del comando. Desactivar la selección la descarta. |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Jugador | Establece esquinas enteras en tu mundo actual y resta 1 a cada Y indicada para seleccionar el suelo inferior. Ambas esquinas deben tener la misma Y y las longitudes inclusivas X/Z deben ser múltiplos de 3. |
/etd showselection <level> | Jugador | Comprueba y conserva la selección actual. Muestra una partícula END_ROD, visible solo para ti, sobre cada casilla de suelo que registraría la selección. No guarda nada. |
/etd register <level> | Jugador | Escribe en el archivo del nivel una entrada de levelLocations por cada casilla de suelo de la selección actual, sustituyendo la lista existente, y después borra la selección. Una selección no válida, o sin casillas de suelo, no escribe nada y conserva la selección. |
/etd register <level> start | Jugador | Añade las coordenadas enteras actuales del jugador a startLocation y guarda. Requiere una entrada de selección activa; no resta 1 a Y. |
/etd register <level> end | Jugador | Añade las coordenadas enteras actuales del jugador a endLocation y guarda. Requiere una entrada de selección activa; no resta 1 a Y. |
Novedades de versiones
MagmaCore registra un comando independiente adicional por plugin de Nightbreak, formado por el comando principal más changelog:
/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
| Forma | Efecto |
|---|---|
/etdchangelog | Abre las notas aún no leídas de las versiones de EternalTD y sus paquetes de contenido registrados |
/etdchangelog dismiss | Marca como leídas las versiones mostradas y pasa al siguiente grupo sin leer, si existe |
/etdchangelog disable | Desactiva permanentemente el aviso de novedades para ese jugador |
Detalles de funcionamiento:
- Solo pueden usarlo jugadores administradores: operadores o usuarios con
eternaltd.*o con cualquiera de los permisos administrativos, de configuración o inicialización de la especificación. EternalTD establece los tres eneternaltd.*. - Los administradores reciben un aviso en el chat con un botón para ver las novedades unos 2 segundos después de conectarse, solo si hay contenido sin leer y no han usado
disable. - El estado de lectura, la versión inicial de seguimiento y los textos guardados en caché están en
plugins/EternalTD/nightbreak-changelogs.yml. - Si otro plugin ya usa
etdchangelog, MagmaCore registra la alternativa con espacio de nombreseternaltd:etdchangelog.
Notas
- El
plugin.ymlde EternalTD solo declara el comando principal y los permisoseternaltd.*yeternaltd.match.bypass. El gestor registra los subcomandos durante la ejecución. /etd reloadreinicia EternalTD mediante su deshabilitación, carga y habilitación. Repite la migración de carpetas, las importaciones, los paquetes, las oleadas, los niveles, las plantillas de mundos, los NPC y la configuración del paquete de recursos. FreeMinecraftModels no se recarga siempre: si el importador instala modelos u otros archivos en las carpetas de FMM mientras FMM está habilitado, el evento compartido de instalación de modelos invoca su recarga de contenido.- El autocompletado de niveles de
join,showselectionyregisterconsulta el registro cargado actual, por lo que los nuevos niveles aparecen sin reconstruir el gestor de comandos. La ejecución también comprueba que el nivel indicado exista.