Pular para o conteúdo principal

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.

ComandoRemetenteFunção atual
/etdQualquerExibe 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 initializeJogadorAbre o menu de configuração inicial. Requer eternaltd.*.
/etd setupJogadorAbre 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 recommendedpluginsQualquerAbre (jogador) ou exibe (console) os plugins complementares recomendados para o EternalTD
/etd downloadpluginupdateQualquerBaixa uma atualização do plugin EternalTD se houver uma disponível (usada após o próximo reinício)
/etd downloadallQualquerBaixa a atualização do plugin EternalTD e todo o conteúdo disponível
/etd downloadallcontentQualquerBaixa todo o conteúdo disponível do EternalTD (sem atualização de plugin)
/etd updatecontentQualquerBaixa atualizações para conteúdo desatualizado do EternalTD
/etd updateallcontentQualquerAlias para /etd updatecontent
/etd forcereinstallcontent <package&#124;all>QualquerRebaixa 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 installQualquerAplica a configuração oficial do pacote de recursos do EternalTD
/etd reloadQualquerReinicia o EternalTD no lugar (ciclo completo de disable, load e enable)

Nota para administradores:

  • O plugin.yml do 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 end e o /etd puro. (Os comandos compartilhados do MagmaCore separam isso em permissões de "admin", "setup" e "initialize", mas o EternalTD passa eternaltd.* 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 pelo plugin.yml do EternalTD.
  • initialize é registado pelo bootstrap partilhado e também requer eternaltd.*; os modos predefinidos não controlam esse registo.
  • Apenas os comandos voltados a jogadores são irrestritos: hub/lobby, join, start/go e quit/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

ComandoRemetenteFunção atual
/etd join <level>JogadorInicia 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 startJogadorInicia a primeira onda da sessão ativa
/etd goJogadorAlias para /etd start
/etd quitJogadorEncerra sua sessão de nível atual
/etd stopJogadorAlias para /etd quit
/etd hubJogadorTeletransporta 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 lobbyJogadorAlias para /etd hub

Comandos de Depuração e Admin de Jogabilidade

ComandoRemetenteFunção atual
/etd cheatJogadorAlterna o modo de trapaça para a sessão ativa
/etd setwave <wave>JogadorPula 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.

ComandoRemetenteFunção atual
/etd selectfloorJogadorInicia ou para a seleção de cantos de piso com cliques
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2>JogadorDefine a região de seleção diretamente a partir de coordenadas
/etd showselection <level>JogadorVerifica 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>JogadorVerifica 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> startJogadorAdiciona o bloco atual onde o jogador está à lista startLocation do nível
/etd register <level> endJogadorAdiciona 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
FormaEfeito
/etdchangelogAbre as notas de versão do EternalTD (e dos pacotes de conteúdo rastreados) que você ainda não leu
/etdchangelog dismissMarca as versões exibidas como lidas e salta para o próximo lote não lido, se houver
/etdchangelog disableInterrompe 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 como eternaltd.*.
  • 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.yml do EternalTD declara apenas o comando raiz e a permissão eternaltd.*. 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, showselection e nos comandos register sã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.