Saltar para o conteúdo principal

Importações manuais vs gestão no jogo

Os plugins geridos pelo Nightbreak agora preferem a configuração e gestão de conteúdo no jogo, mas as importações manuais continuam a existir como alternativa.

Use o menu de configuração junto com um token Nightbreak vinculado quando quiser:

  • navegação de conteúdo com reconhecimento de acesso
  • instalação com um clique ou guiada por menu
  • comandos de download e atualização em massa
  • verificações automáticas de pacotes desatualizados
  • um fluxo de trabalho que corresponde à base de código atual

Este é o caminho preferido para:

  • EliteMobs
  • BetterStructures
  • FreeMinecraftModels
  • EternalTD
  • ResurrectionChest
  • WorldCannon

Todos os seis usam o importador partilhado, por isso todos os seis também aceitam a alternativa manual descrita abaixo.

Alternativa: Importações manuais​

As importações manuais continuam a ser úteis quando:

  • já tem os zips dos pacotes descarregados
  • está a mover ficheiros entre servidores
  • quer trabalhar offline do Nightbreak durante os testes
  • um pacote está a ser intencionalmente distribuído fora do caminho de download no jogo

Os downloads em massa do Nightbreak também terminam na pasta imports do plugin. A diferença é que o caminho no jogo trata das verificações de acesso e do passo de download por si.

Mapa de pastas de importação​

PluginPasta de importação
EliteMobsplugins/EliteMobs/imports
BetterStructuresplugins/BetterStructures/imports
FreeMinecraftModelsplugins/FreeMinecraftModels/imports
EternalTDplugins/EternalTD/imports
ResurrectionChestplugins/ResurrectionChest/imports
WorldCannonplugins/CannonRTP/imports

A pasta do plugin WorldCannon chama-se CannonRTP — esse é o nome interno do plugin, e é aí que ficam tanto a sua pasta imports como o conteúdo instalado.

Regras de importação manual​

  • Mantenha o pacote descarregado comprimido, a menos que a documentação específica do plugin diga o contrário.
  • Coloque o pacote na pasta imports correta.
  • Recarregue ou reinicie o plugin se a documentação específica do plugin o exigir.
  • Volte a abrir o menu de configuração depois para confirmar o estado de instalação.

O importador partilhado pode processar:

  • pacotes .zip colocados em imports
  • certas pastas já descomprimidas se incluírem pack.meta
  • ficheiros .bbmodel para FreeMinecraftModels

Os arquivos são extraídos para uma pasta de preparação oculta dentro de imports e só são instalados a partir daí. O importador elimina essa pasta de preparação depois de um sucesso ou de uma falha, por isso importações falhadas normais deixam o zip original pronto para nova tentativa, em vez de um pacote meio extraído visível ao lado dele.

O que o importador aceita​

O pack.meta decide para onde vai o conteúdo​

Um pacote pode incluir um ficheiro pack.meta no nível superior a indicar a plataforma de plugin a que se destina — elitemobs, betterstructures, freeminecraftmodels, eternaltd, extractioncraft, resurrectionchest, megablocksurvivors ou worldcannon (também aceite como cannonrtp ou world_cannon). Esse nome é comparado sem distinção entre maiúsculas e minúsculas, e espaços em branco à volta, fins de linha e uma marca de ordem de bytes inicial são ignorados, por isso um ficheiro guardado por um editor de Windows funciona sem problemas.

Se o arquivo não tiver pack.meta, é tratado como um pacote para o plugin em cuja pasta imports foi colocado.

Se o pack.meta indicar algo que o importador não conhece, o pacote é rejeitado e o zip é deixado em imports para que o possa corrigir e tentar novamente.

Os nomes das pastas de nível superior têm de ser reconhecidos​

O importador encaminha cada pasta de nível superior do pacote para um destino com base no nome. Alguns nomes funcionam para todas as plataformas:

PastaVai para
worldcontainerO contentor de mundos do servidor (cada subpasta torna-se um mundo)
models ou modelengineA pasta models do FreeMinecraftModels, ou a pasta blueprints do ModelEngine se apenas o ModelEngine estiver instalado
scriptsplugins/FreeMinecraftModels/scripts
freeminecraftmodels, elitemobs, betterstructuresA pasta de dados desse plugin (plugins/FreeMinecraftModels, plugins/EliteMobs ou plugins/BetterStructures). Organize a pasta como a pasta de dados, por exemplo freeminecraftmodels/enchantments/
pack.metaIgnorado — são metadados, não conteúdo

Os modelos em freeminecraftmodels/models/ vão para a pasta de modelos que o FreeMinecraftModels lê, incluindo a pasta Models de uma instalação mais antiga.

O importador resolve todas as outras pastas de nível superior para a plataforma a que o pacote se destina. Cada pasta vai para a pasta com o mesmo nome dentro da pasta de dados do plugin, salvo indicação em contrário na tabela:

PlataformaPastas para esse pluginPastas para outro plugin
elitemobscustombosses, customitems, customtreasurechests, content_packages (dungeonpackages também vai para lá), customevents, customspawns, customquests, customarenas, npcs, npc_scripts, behaviors, transport_routes, wormholes, powers, world_blueprints, resource_pack, enchantmentsNenhuma
betterstructurescontent_packages, schematics, spawn_pools, components, modules, module_generators, treasures, generatorsEliteMobs: custombosses, customitems, customtreasurechests, powers, enchantments
freeminecraftmodelscontent_packages, recipes, enchantmentsEliteMobs: customitems, ignorada quando o EliteMobs não está ativo
eternaltdnpcs, levels, waves, worldsNenhuma
resurrectionchestcontent_packagesNenhuma
worldcannoncontent_packages, cannons (fun_rtps também vai para lá) e cannonrtp, worldcannon ou world_cannon para a própria pasta de dados (plugins/CannonRTP)Nenhuma
extractioncraftcontent_packages, loot_pools, loot_tablesEliteMobs: customquests, npcs, custombosses, customitems, customtreasurechests, powers. BetterStructures: spawn_pools, components, modules, module_generators
megablocksurvivorscontent_packages, schematics, worlds, content_markers e megablocksurvivors para a própria pasta de dados (plugins/MegaBlockSurvivors)Nenhuma

Uma pasta enchantments/ contém definições de encantamentos e os respetivos efeitos Lua locais, e nunca utiliza o destino global de scripts/. Para incluir encantamentos do FreeMinecraftModels no pacote de outra plataforma, use freeminecraftmodels/enchantments/.

Uma pasta de nível superior que o importador não reconheça para essa plataforma faz com que o pacote inteiro seja rejeitado, em vez de parcialmente instalado, e o arquivo é mantido. Se o seu pacote não importar, a consola indica a pasta problemática.

Importações para a pasta de outro plugin​

Os plugins leem as suas pastas de conteúdo no arranque ou ao recarregar. Quando um pacote importa ficheiros para a pasta de outro plugin:

  • O FreeMinecraftModels recarrega automaticamente o conteúdo importado.
  • O BetterStructures recarrega o novo conteúdo assim que o seu próprio arranque termina. Se 10 minutos depois ainda estiver a arrancar, a consola pede-lhe que execute /bs reload.
  • Um pacote do BetterStructures que importe conteúdo do EliteMobs recarrega o EliteMobs.

Nos restantes casos, recarregue ou reinicie o plugin a que a pasta pertence.

Atualizar um mundo carregado​

Antes de substituir um mundo carregado, o importador move os seus jogadores para o ponto de aparecimento de outro mundo carregado e pede ao servidor que descarregue o mundo de destino. Se não houver outro mundo disponível, se um teletransporte falhar ou se o servidor recusar a descarga, a importação para e mantém o arquivo. Retire os jogadores e resolva o problema indicado antes de tentar novamente.

Ficheiros descontinuados numa importação​

O plugin responsável verifica formatos de configuração descontinuados antes e depois das importações. Os ficheiros correspondentes são preservados em plugins/MagmaCore/outdated files/, fora das pastas de conteúdo ativo. Se um pacote antigo instalar conteúdo descontinuado, descarregue a versão atualizada. Consulte os ficheiros de configuração descontinuados.

As importações falhadas são revertidas​

Se a reposição ficar incompleta, o MagmaCore mantém a pasta de recuperação e regista o respetivo caminho e os destinos que não conseguiu restaurar. Preserve esses ficheiros e resolva os erros indicados antes de repetir a importação.

Uma importação é aplicada como uma única transação. Os ficheiros existentes são copiados para segurança antes de serem substituídos, as pastas de mundo substituídas são movidas para o lado em vez de eliminadas, e uma falha a meio do processo desencadeia a reversão de todos os destinos que o pacote tocou. O zip permanece em imports para repetir a tentativa depois de resolver a falha. Se a própria reversão encontrar um erro do sistema de ficheiros, a consola comunica explicitamente que a reversão ficou incompleta e diz-lhe para inspecionar os destinos registados antes de tentar de novo.

O arquivo só é eliminado depois de a importação ter sido totalmente confirmada. Se vir um pacote ainda em imports após uma recarga, é o importador a dizer-lhe que não instalou — verifique a consola para saber o motivo.

Diferenças importantes​

Caminho no jogo​

  • com reconhecimento de token
  • pode mostrar conteúdo bloqueado e desatualizado
  • normalmente recarrega automaticamente após operações em massa
  • reflete o fluxo de trabalho administrativo atualmente previsto

Caminho manual​

  • funciona sem acesso a downloads no jogo
  • requer que gira os ficheiros zip por si próprio
  • pode exigir uma recarga do plugin
  • pode deixar conteúdo num estado de descarregado-mas-não-ativado dependendo do plugin
  • pode expor problemas de estrutura do pacote que o caminho de acesso no jogo normalmente ocultaria até ao momento da instalação