Comandos do EternalTD
O EternalTD registra o comando raiz:
/eternaltd
/etd
Os comandos de conta do Nightbreak usados durante a configuração são comandos de nível superior separados, registrados pelo MagmaCore:
/nightbreaklogin <token>
/nightbreaklogout
Ambos são protegidos por nightbreak.login (default: op). /nightbreaklogout apaga do servidor o token da conta Nightbreak armazenado.
O MagmaCore também registra um comando de changelog por plugin, /etdchangelog, como um comando de nível superior próprio (veja Changelog de versões).
Configuração e Gerenciamento de Conteúdo
A maioria destes subcomandos é registrada pelo MagmaCore através de NightbreakPluginBootstrap.registerStandardCommands. Eles são compartilhados entre todos os plugins do Nightbreak e acompanham o EternalTD porque o MagmaCore é embutido (shaded) no plugin.
| Comando | Remetente | Função atual |
|---|---|---|
/etd | Qualquer | Exibe a ajuda rápida de configuração/conteúdo atual. Agora exige de fato eternaltd.* — um remetente sem essa permissão recebe "You do not have permission to run this command!" |
/etd initialize | Jogador | Abre o menu de configuração inicial. Requer eternaltd.*. |
/etd setup | Jogador | Abre o menu de configuração do EternalTD (navegador de pacotes mais os controles compartilhados de atualização de plugin, plugins recomendados e atualização automática) |
/etd recommendedplugins | Qualquer | Abre (jogador) ou exibe (console) os plugins complementares recomendados para o EternalTD |
/etd downloadpluginupdate | Qualquer | Baixa uma atualização do plugin EternalTD se houver uma disponível (usada após o próximo reinício) |
/etd downloadall | Qualquer | Baixa a atualização do plugin EternalTD e todo o conteúdo disponível |
/etd downloadallcontent | Qualquer | Baixa todo o conteúdo disponível do EternalTD (sem atualização de plugin) |
/etd updatecontent | Qualquer | Baixa atualizações para conteúdo desatualizado do EternalTD |
/etd updateallcontent | Qualquer | Alias para /etd updatecontent |
/etd forcereinstallcontent <package|all> | Qualquer | Rebaixa o conteúdo pelo pipeline normal autenticado de importação/recarga mesmo quando a versão instalada já está atualizada. all cobre todos os pacotes detectados como baixados; um slug do Nightbreak (com tab completion) mira um único pacote e funciona mesmo que os arquivos dele estejam completamente ausentes. Use isto para reparar um pacote cujos arquivos foram apagados ou corrompidos. |
/etd install | Qualquer | Aplica a configuração oficial do pacote de recursos do EternalTD |
/etd reload | Qualquer | Reinicia o EternalTD no lugar (ciclo completo de disable, load e enable) |
Nota para administradores:
- O
plugin.ymldo EternalTD declara um único nó de permissão,eternaltd.*(default: op), descrito como concedendo acesso aos comandos de admin, configuração e depuração. - Tudo o que é voltado a administradores resolve para esse único nó:
setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,updatecontent/updateallcontent,forcereinstallcontent,install,reload,cheat,setwave,selectfloor,selectfloorcoordinates,showselection,register,register start,register ende o/etdpuro. (Os comandos compartilhados do MagmaCore separam isso em permissões de "admin", "setup" e "initialize", mas o EternalTD passaeternaltd.*para as três, então o requisito efetivo é idêntico.) - Os dois comandos de conta do Nightbreak usam o nó próprio deles,
nightbreak.login(default: op), que o MagmaCore registra em tempo de execução e não peloplugin.ymldo EternalTD. initializeé registado pelo bootstrap partilhado e também requereternaltd.*; os modos predefinidos não controlam esse registo.- Apenas os comandos voltados a jogadores são irrestritos:
hub/lobby,join,start/goequit/stop. - O tab completion do primeiro argumento também é filtrado por permissão, então jogadores sem
eternaltd.*só veem os subcomandos voltados a jogadores.
Comandos de Jogabilidade
| Comando | Remetente | Função atual |
|---|---|---|
/etd join <level> | Jogador | Inicia uma nova sessão de nível a partir de um arquivo de nível carregado. O mundo modelo é copiado fora da thread principal, então o comando responde primeiro "Preparing world - hang tight!" e depois "Created your world! We're ready to go." assim que a instância está no ar. Executá-lo novamente enquanto uma cópia está em andamento é recusado com "Your level is already being prepared. Please wait!" |
/etd start | Jogador | Inicia a primeira onda da sessão ativa |
/etd go | Jogador | Alias para /etd start |
/etd quit | Jogador | Encerra sua sessão de nível atual |
/etd stop | Jogador | Alias para /etd quit |
/etd hub | Jogador | Teletransporta você de volta para o spawn do hub do EternalTD. Se executado durante uma run, a sessão ativa é encerrada de forma limpa primeiro (inventário restaurado, torres removidas, mundo da instância deletado). Requer que o spawn do hub esteja configurado no config.yml; se o servidor recusar o teletransporte, o comando informa essa falha em vez de alegar sucesso. |
/etd lobby | Jogador | Alias para /etd hub |
Comandos de Depuração e Admin de Jogabilidade
| Comando | Remetente | Função atual |
|---|---|---|
/etd cheat | Jogador | Alterna o modo de trapaça para a sessão ativa |
/etd setwave <wave> | Jogador | Pula para uma onda específica na sessão ativa |
Estes não são comandos normais de configuração de jogadores. São ferramentas de sessão/depuração.
Comandos de Criação de Mapas
Estes comandos ainda estão presentes na base de código atual para seleção de pisos e trabalho de registro de níveis.
| Comando | Remetente | Função atual |
|---|---|---|
/etd selectfloor | Jogador | Inicia ou para a seleção de cantos de piso com cliques |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Jogador | Define a região de seleção diretamente a partir de coordenadas |
/etd showselection <level> | Jogador | Verifica e mantém a seleção do chão. A pré-visualização por partículas está desativada na implementação atual. |
/etd register <level> | Jogador | Verifica e depois limpa a seleção. Não mostra partículas nem guarda levelLocations; escreva a região do chão manualmente no YAML do nível. |
/etd register <level> start | Jogador | Adiciona o bloco atual onde o jogador está à lista startLocation do nível |
/etd register <level> end | Jogador | Adiciona o bloco atual onde o jogador está à lista endLocation do nível |
Changelog de versões
O MagmaCore registra um comando de nível superior extra por plugin do Nightbreak, nomeado a partir do comando raiz mais changelog:
/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
| Forma | Efeito |
|---|---|
/etdchangelog | Abre as notas de versão do EternalTD (e dos pacotes de conteúdo rastreados) que você ainda não leu |
/etdchangelog dismiss | Marca as versões exibidas como lidas e salta para o próximo lote não lido, se houver |
/etdchangelog disable | Interrompe permanentemente o aviso de changelog para aquele jogador |
Comportamentos que vale conhecer:
- O comando é exclusivo para jogadores e para administradores. "Administrador" aqui significa op,
eternaltd.*ou qualquer uma das permissões de admin/setup/initialize da especificação — todas as três definidas pelo EternalTD comoeternaltd.*. - Administradores que entram no servidor recebem um aviso no chat com um botão clicável view cerca de 2 segundos após o login, mas apenas quando há algo não lido e eles não executaram
disable. - O estado de leitura/dispensa, a versão a partir da qual o rastreamento começou e o texto de versão em cache ficam em
plugins/EternalTD/nightbreak-changelogs.yml. - Se outro plugin já ocupar o rótulo
etdchangelog, o MagmaCore registra um fallback com namespace (eternaltd:etdchangelog).
Notas
- O
plugin.ymldo EternalTD declara apenas o comando raiz e a permissãoeternaltd.*. Os subcomandos são registrados através do gerenciador de comandos em tempo de execução. /etd reloadé um reinício real do plugin: ele chama o caminho de disable, load e enable do plugin, e não uma reimportação leve de conteúdo. Tudo o que a inicialização faz (migração de pastas, importador, pacotes de conteúdo, ondas, níveis, modelos de mundo, NPCs, auxiliar de resource pack) roda novamente. Ele não chama o caminho de reload do FreeMinecraftModels — o método que faria isso existe no código fonte, mas nada o invoca.- Os argumentos de nome de nível em
join,showselectione nos comandosregistersão resolvidos quando você usa o tab completion, e não quando o plugin inicia, então níveis adicionados por um download ou por um reload aparecem sem reiniciar.