Modelos e pacote de recursos do EternalTD
O EternalTD usa atualmente FreeMinecraftModels para os modelos e /etd install para configurar o pacote de recursos.
FreeMinecraftModels
FreeMinecraftModels é uma dependência opcional.
- O EternalTD carrega sem ele.
- Quando está presente, pode substituir os corpos vanilla das torres por modelos estáticos FMM. Um modelo ausente gera um aviso e mantém o corpo vanilla.
- Quando está ausente, o EternalTD usa os corpos vanilla sem impedir o arranque. O indicador de integração verifica a presença do plugin: uma instalação FMM desativada ou incompatível não equivale à ausência do plugin.
O pacote de modelos partilhado atual é:
EternalTD Custom Models
É transferido pelo sistema de conteúdo EternalTD e descrito no código como conteúdo importado para o FreeMinecraftModels quando o FMM está disponível.
O acompanhamento de pacotes do EternalTD também aceita qualquer uma destas pastas FMM não vazias como conteúdo instalado:
plugins/FreeMinecraftModels/models/EternalTD default towers/
plugins/FreeMinecraftModels/Models/EternalTD default towers/
A grafia com maiúscula corresponde à pasta antiga. Detetar qualquer uma das pastas não vazias faz o conteúdo contar como instalado e tenta escrever plugins/EternalTD/content_markers/eternaltd_custom_models.marker; uma falha de escrita é registada. Um marcador existente também conta mesmo que os modelos tenham sido removidos depois. Nenhuma destas verificações valida os modelos ou comprova o seu carregamento.
Efeito de /etd reload nos modelos
/etd reload reinicia o EternalTD no servidor e processa as importações pendentes. Quando o importador partilhado instala modelos ou outros ficheiros nas pastas do FMM (como scripts) e o FMM está ativado, a notificação de instalação chama o recarregamento de conteúdo importado do FMM. Isto é condicional, não acontece em cada /etd reload. O método de encaminhamento separado do EternalTD não tem chamadas.
Se editar ou copiar ficheiros diretamente para as pastas FMM, use o comando de recarregamento do próprio FMM. Verifique os registos e um modelo no jogo; o marcador do pacote não basta.
/etd install
/etd install não transfere um pacote de modelos. Aplica as definições de distribuição do pacote de recursos oficial.
A URL oficial atual é:
https://www.magmaguy.com/downloads/eternaltd_resource_pack.zip
Com ResourcePackManager instalado
Se o ResourcePackManager estiver ativado, o EternalTD regista o pacote oficial e pede-lhe para recarregar o estado dos pacotes.
Neste modo:
- o EternalTD não escreve a URL em
server.properties - o ResourcePackManager distribui o pacote aos jogadores
- o EternalTD regista
/etd reloadcomo comando de recarregamento posterior
A mensagem de registo confirma as chamadas à API, não a entrega bem-sucedida a um cliente. No arranque, o EternalTD apenas considera o ResourcePackManager ativado como uma configuração ativa; não efetua este registo. Execute /etd install para o solicitar e verifique o pacote com um jogador ligado.
Com ResourcePackManager indisponível ou falha de registo
O EternalTD edita diretamente server.properties se o ResourcePackManager estiver desativado, ausente ou se o registo pela API lançar um erro.
Escreve estas propriedades:
resource-packresource-pack-sha1
Antes de alterar qualquer uma, transfere o pacote e calcula o SHA1 à medida que os bytes chegam, sem guardar o pacote no disco. A transferência usa um tempo limite de ligação de 10 segundos e um tempo limite de leitura de 30 segundos. Se a transferência ou o cálculo falhar, server.properties fica intacto. Se tudo correr bem, escreve ambos os valores em conjunto através de um ficheiro temporário e de substituição atómica quando o sistema operativo a permite. Se ambos os valores já coincidirem, o ficheiro não é reescrito.
Neste modo, o comando indica que é necessário reiniciar o servidor para aplicar as novas definições.
Verificação de atualização do SHA1
Quando usa server.properties em vez do ResourcePackManager, o EternalTD também verifica no arranque (e em /etd reload) se o SHA1 do pacote oficial mudou.
A verificação só ocorre quando resource-pack é exatamente a URL oficial do EternalTD indicada acima; um pacote de qualquer outra URL não é alterado. Se o hash mudou, o EternalTD escreve o novo resource-pack-sha1, depois de confirmar que resource-pack ainda contém a URL oficial. Não anuncia a alteração; o servidor envia o novo hash aos jogadores após o próximo reinício. Se a escrita for ignorada ou falhar, a consola regista que a soma de verificação não foi atualizada. Com ResourcePackManager ativado, este ramo de arranque é ignorado.
Avisos aos operadores
Quando se verificam todas estas condições:
FreeMinecraftModelsestá instalado- o jogador que entra é operador
- o EternalTD não deteta uma configuração ativa de pacote de recursos
O EternalTD agenda um aviso para cinco segundos depois, desde que o jogador ainda seja válido. Indica:
/etd install/etd initialize, que abre o menu inicial e exigeeternaltd.*/etd setup
A deteção significa apenas que o ResourcePackManager está ativado ou que server.properties contém um valor resource-pack não vazio. Não verifica a aceitação pelo cliente nem a presença dos recursos EternalTD no pacote. O aviso descreve a via de server.properties, mas /etd install continua a tentar primeiro o ResourcePackManager.
Remoção dos recursos
O pacote de modelos personalizados é tratado como recurso partilhado, não como um pacote que possa ser ativado e desativado normalmente.
Para o remover:
- Remova os modelos importados pretendidos, verificando as pastas atuais e antigas do FMM.
- Remova
plugins/EternalTD/content_markers/eternaltd_custom_models.markerpara que o pacote deixe de contar como instalado. Uma pasta alternativa ainda não vazia voltará a criar esse estado na próxima verificação. - Recarregue o FMM para aplicar as remoções diretas e execute
/etd reload. Consulte/fmm setupse necessário. Estes passos não removem o registo do pacote de recursos nem as suas definições emserver.properties.