Comandos do EternalTD
O EternalTD regista o comando principal:
/eternaltd
/etd
Os comandos de conta Nightbreak usados na configuração são comandos independentes registados pelo MagmaCore:
/nightbreaklogin [token]
/nightbreaklogout
Ambos exigem nightbreak.login, com default: op. /nightbreaklogin sem token imprime uma ligação do nightbreak.io; depois de a aprovar aí, o servidor fica vinculado. /nightbreaklogout remove o token Nightbreak guardado no servidor.
O MagmaCore também regista o comando independente /etdchangelog para consultar as alterações de versões deste plugin; consulte Alterações de versões.
Configuração e gestão de conteúdo
A maioria destes subcomandos é registada pelo MagmaCore através de NightbreakPluginBootstrap.registerStandardCommands. São partilhados pelos plugins Nightbreak e estão disponíveis no EternalTD porque o MagmaCore está incorporado no plugin.
| Comando | Quem pode executar | Função atual |
|---|---|---|
/etd | Qualquer | Apresenta a ajuda rápida de configuração e conteúdo. Exige eternaltd.*; quem não a tiver recebe uma mensagem de falta de permissão. |
/etd initialize | Jogador | Abre o menu inicial. Exige eternaltd.*. |
/etd setup | Jogador | Abre o menu EternalTD: catálogo de pacotes e controlos partilhados de atualização do plugin, recomendações e atualizações automáticas |
/etd recommendedplugins | Qualquer | Abre as recomendações de plugins complementares para jogadores ou apresenta-as na consola |
/etd downloadpluginupdate | Qualquer | Transfere uma atualização EternalTD disponível. É aplicada após o próximo reinício, a menos que nightbreak.applyPluginUpdatesWithoutRestart a aplique antes |
/etd applypluginupdate | Qualquer | Aplica uma atualização EternalTD já transferida sem reiniciar. O EternalTD é desativado e volta a ser ativado com o novo jar, pelo que os níveis em curso terminam. É recusado quando não há nenhuma atualização mais recente à espera, quando já está a decorrer outra troca de plugin ou quando um plugin de outro autor depende do EternalTD; se o novo jar não ativar, o jar anterior é carregado novamente |
/etd downloadall | Qualquer | Transfere a atualização EternalTD e todo o conteúdo disponível |
/etd downloadallcontent | Qualquer | Transfere todo o conteúdo EternalTD disponível, sem atualizar o plugin |
/etd updatecontent | Qualquer | Transfere atualizações de conteúdo EternalTD desatualizado |
/etd updateallcontent | Qualquer | Alias de /etd updatecontent |
/etd forcereinstallcontent <package|all> | Qualquer | Volta a transferir conteúdo pelo processo normal autenticado de importação e recarregamento, mesmo que a versão instalada já seja atual. all abrange todos os pacotes detetados como transferidos. Um slug Nightbreak, sugerido por Tab, identifica um pacote e funciona mesmo que todos os seus ficheiros estejam em falta. Use-o para reparar ficheiros eliminados ou corrompidos. |
/etd install | Qualquer | Regista o pacote oficial no ResourcePackManager e pede o seu recarregamento quando disponível. Caso contrário, transfere o pacote, calcula o hash e atualiza server.properties; esta via requer reiniciar o servidor. Uma falha no registo também recorre a server.properties. |
/etd reload | Qualquer | Reinicia o EternalTD no mesmo processo, com um ciclo completo de desativação, carregamento e ativação |
Notas para administradores:
- O
plugin.ymldo EternalTD declara duas permissões, ambas comdefault: op.eternaltd.*dá acesso aos comandos administrativos, de configuração e de depuração.eternaltd.match.bypasspermite a um jogador teletransportar-se para o mundo do nível em curso de outro jogador sem ser expulso (consulte Regras da partida). - Todos os comandos administrativos usam
eternaltd.*:setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,applypluginupdate,updatecontent/updateallcontent,forcereinstallcontent,install,reload,cheat,setwave,selectfloor,selectfloorcoordinates,showselection,register,register start,register ende/etdsem argumentos. O MagmaCore distingue permissões de administração, configuração e inicialização, mas o EternalTD usaeternaltd.*nas três. - Os dois comandos de conta Nightbreak usam
nightbreak.login, comdefault: op, registada pelo MagmaCore durante o funcionamento, e não peloplugin.ymldo EternalTD. initializeé registado pelo arranque partilhado e também exigeeternaltd.*. Os modos predefinidos não controlam esse registo.- Apenas os comandos dos jogadores são livres:
hub/lobby,join,start/goequit/stop. - As sugestões do primeiro argumento também respeitam as permissões. Jogadores sem
eternaltd.*só veem os subcomandos destinados a jogadores.
Comandos de jogo
| Comando | Quem pode executar | Função atual |
|---|---|---|
/etd join <level> | Jogador | Pede uma sessão a partir de um ficheiro de nível carregado. O mundo de origem é copiado fora da thread principal. Espere por "Created your world! We're ready to go." antes de começar; a mensagem anterior "Joined level!" não confirma sucesso e pode aparecer mesmo após um erro de preparação. Um segundo pedido pendente é recusado, tal como o de um jogador que já esteja numa partida, incluindo uma partida de outro plugin Nightbreak. Desligar-se, ou passarem 10 minutos sem um mundo pronto, cancela a preparação. |
/etd start | Jogador | Inicia a primeira vaga da sessão ativa |
/etd go | Jogador | Alias de /etd start |
/etd quit | Jogador | Termina a sessão de nível atual |
/etd stop | Jogador | Alias de /etd quit |
/etd hub | Jogador | Regressa ao ponto configurado do hub EternalTD. Primeiro termina a sessão ativa, repõe o estado do jogador, remove torres e pede a limpeza da instância. Se o hub não estiver configurado, para antes de terminar a sessão. Comunica teletransportes recusados. |
/etd lobby | Jogador | Alias de /etd hub |
Comandos de depuração e administração do jogo
| Comando | Quem pode executar | Função atual |
|---|---|---|
/etd cheat | Jogador | Alterna o modo de batota e define a moeda como 10 000 000 e as vidas como 1 000 000 em cada execução, incluindo ao desativar. Marca permanentemente a partida como batota, excluindo-a dos recordes. |
/etd setwave <wave> | Jogador | Define o contador de vaga guardado e marca a partida como batota. Não substitui os inimigos atuais nem inicia imediatamente a vaga pedida; a transição normal seguinte usa o contador mais um. |
São ferramentas de sessão e depuração. Com a batota ativa, construir e melhorar não desconta moeda, mas continua a verificar se existe dinheiro suficiente. Desativar não recupera a elegibilidade para recordes. setwave aceita um inteiro sem verificar se a vaga correspondente existe.
Comandos de criação de mapas
Estes comandos continuam disponíveis para selecionar o chão e registar níveis.
| Comando | Quem pode executar | Função atual |
|---|---|---|
/etd selectfloor | Jogador | Alterna a seleção do chão. Clique esquerdo num bloco para o canto 1 e direito para o canto 2, como indica a mensagem inicial do comando. Desativar descarta a seleção. |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Jogador | Define cantos inteiros no mundo atual, subtraindo 1 a cada Y indicado para selecionar o chão inferior. Ambos os Y têm de ser iguais e os comprimentos inclusivos X/Z têm de ser múltiplos de 3. |
/etd showselection <level> | Jogador | Verifica e conserva a seleção atual do chão. Mostra uma partícula END_ROD, visível apenas para si, por cima de cada quadrado do chão que a seleção registaria. Não guarda nada. |
/etd register <level> | Jogador | Escreve no ficheiro do nível uma entrada levelLocations por cada quadrado do chão na seleção atual, substituindo a lista existente, e depois limpa a seleção. Uma seleção inválida, ou sem quadrados de chão, não escreve nada e mantém a seleção. |
/etd register <level> start | Jogador | Acrescenta as coordenadas inteiras atuais do jogador a startLocation e guarda. Requer uma entrada de seleção ativa; não subtrai 1 a Y. |
/etd register <level> end | Jogador | Acrescenta as coordenadas inteiras atuais do jogador a endLocation e guarda. Requer uma entrada de seleção ativa; não subtrai 1 a Y. |
Alterações de versões
O MagmaCore regista um comando independente adicional por plugin Nightbreak, formado pelo comando principal seguido de changelog:
/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
| Forma | Efeito |
|---|---|
/etdchangelog | Abre as notas ainda não lidas das versões EternalTD e dos pacotes de conteúdo acompanhados |
/etdchangelog dismiss | Marca as versões apresentadas como lidas e avança para o próximo grupo por ler, se existir |
/etdchangelog disable | Desativa permanentemente os avisos de alterações para esse jogador |
Comportamento:
- O comando só aceita jogadores administradores: operadores, quem tem
eternaltd.*ou uma das permissões de administração, configuração ou inicialização da especificação, que no EternalTD são todaseternaltd.*. - Cerca de 2 segundos após entrar, os administradores recebem um aviso de chat com um botão para ver as alterações, desde que haja notas por ler e não tenham usado
disable. - O estado de leitura, a versão inicial de acompanhamento e o texto das versões em cache ficam em
plugins/EternalTD/nightbreak-changelogs.yml. - Se outro plugin já usar
etdchangelog, o MagmaCore regista a alternativa com namespaceeternaltd:etdchangelog.
Observações
- O
plugin.ymldo EternalTD só declara o comando principal e as permissõeseternaltd.*eeternaltd.match.bypass. Os subcomandos são registados pelo gestor durante o funcionamento. /etd reloadreinicia o EternalTD por desativação, carregamento e ativação. Repete a migração de pastas, as importações, os pacotes, as vagas, os níveis, os modelos de mundos, os NPCs e a configuração do pacote de recursos. O FreeMinecraftModels não é sempre recarregado: se o importador instalar modelos ou outros ficheiros nas pastas do FMM com o FMM ativo, o evento partilhado de instalação de modelos invoca o recarregamento de conteúdo do FMM.- As sugestões de níveis de
join,showselectioneregisterconsultam o registo carregado atual. Assim, novos níveis aparecem sem reconstruir o gestor de comandos. A execução também verifica se o nível indicado existe.