Pular para o conteúdo principal

Pacotes de Conteúdo do FreeMinecraftModels

O conteúdo oficial do FMM agora é exposto como pacotes Nightbreak gerenciados.

Pacotes Oficiais Atuais

O plugin atual define cinco pacotes oficiais pré-feitos, misturando conteúdo de prop e itens:

PackTipoNome do arquivo de configNome da pastaSlug Nightbreak
Basic Furniture PackPropsbasic_furniture_packBasic Furniture Packbasic-furniture-pack
BetterStructures Prop PackPropsbetterstructures_prop_packbs prop packbetterstructures-prop-pack
EliteMobs Prop PackPropselitemobs_prop_packem_dungeon_prop_packelitemobs-prop-pack
Craftenmine's Weapons Item PackItens customizadoscraftenmines_weapons_item_packfmm_craftenmine_weapons_items_packcraftenmines-weapons-item-pack
Craftenmine Tools Item PackItens customizadoscraftenmine_tools_item_packfmm_craftenmine_tools_items_packcraftenmine-tools-item-pack

O nome do arquivo de config é a entrada .yml em plugins/FreeMinecraftModels/content_packages/. O nome da pasta é o diretório onde os modelos do pack realmente residem dentro de models/ ou models_disabled/, e também é o prefixo padrão de arquivos de conteúdo/script.

Cada pacote tem um nome de pasta local, um slug Nightbreak, um campo de versão e um estado habilitado/desabilitado em content_packages. Os dois packs de itens Craftenmine trazem itens customizados (modelos com material: definido) que funcionam com toda a superfície de scripts Lua de item.

O Que o Menu de Configuração Gerencia

/fmm setup é atualmente a fonte de verdade para o estado dos pacotes. O menu consegue distinguir entre:

  • pacotes instalados
  • pacotes baixados mas atualmente desabilitados
  • pacotes desatualizados
  • pacotes que requerem acesso Nightbreak

O menu de configuração também aciona atualizações de fundo para versões de pacotes e verificações de acesso, então o menu é o lugar certo para verificar o estado atual dos pacotes.

Comportamento de Pastas

O plugin usa movimentação de pastas baseada em estado para conteúdo habilitado e desabilitado:

  • pastas de modelos habilitadas ficam em models/<folderName>
  • pastas de modelos desabilitadas ficam em models_disabled/<folderName>
  • arquivos de script habilitados ficam em scripts/
  • arquivos de script desabilitados ficam em scripts_disabled/

Isso significa que um pacote pode estar totalmente baixado em disco sem estar ativo na lista de modelos do runtime. Quando um pacote é instalado ou desinstalado, tanto sua pasta de modelos quanto quaisquer arquivos de script correspondentes são movidos juntos.

Prefixos de Arquivo

Cada configuração de pacote de conteúdo tem um campo contentFilePrefixes e um campo scriptFilePrefixes (ambos com padrão para o folderName do pacote). Arquivos de conteúdo cujos nomes começam com qualquer um dos contentFilePrefixes e arquivos de script na pasta scripts/ cujos nomes começam com qualquer um dos scriptFilePrefixes são considerados parte do pacote e são movidos junto com ele durante a instalação/desinstalação.

Ciclo de Vida de Download e Instalação

Existem duas etapas distintas:

  1. Baixar o conteúdo do pacote. Downloads vão para plugins/FreeMinecraftModels/imports e então acionam uma passagem de reload/import.
  2. Manter o pacote habilitado ou desabilitado. O menu de configuração instala e desinstala pacotes movendo suas pastas entre models e models_disabled.

Operações em massa seguem o mesmo modelo:

  • /fmm downloadall baixa a atualização do jar do plugin e, em seguida, todo pacote acessível que esteja faltando ou desatualizado. O conteúdo pode ser aplicado pelo reload subsequente do FMM; o jar do plugin em si ainda exige um reinício do servidor
  • /fmm downloadallcontent faz a mesma varredura de conteúdo sem a atualização do jar do plugin
  • /fmm updatecontent (alias /fmm updateallcontent) atualiza apenas pacotes desatualizados

As três varreduras de conteúdo em massa recarregam o FreeMinecraftModels automaticamente após downloads bem-sucedidos para que o conteúdo recém-baixado fique disponível. O reload só dispara quando pelo menos um pacote foi de fato baixado — uma execução que não encontra nada a fazer reporta No new content to download! e pula o reload.

As operações em massa são protegidas contra execuções sobrepostas: enquanto uma está em andamento, um segundo comando em massa é recusado em vez de iniciado em paralelo. Elas também exigem um token Nightbreak vinculado e abortam cedo em caso de falha de autenticação.

Reparando Um Pacote

Os comandos normais de download comparam números de versão, então um pacote cujos arquivos foram corrompidos ou parcialmente apagados continua parecendo "atual" e é ignorado. O /fmm forcereinstallcontent <package|all> existe para esse caso: ele rebaixa o conteúdo selecionado independentemente da versão e, em seguida, recarrega.

  • O tab-complete oferece all mais o slug Nightbreak de cada pacote (basic-furniture-pack, betterstructures-prop-pack, elitemobs-prop-pack, craftenmines-weapons-item-pack, craftenmine-tools-item-pack).
  • all cobre apenas pacotes que o FMM detecta como baixados. Se os arquivos de um pack estiverem completamente ausentes, ele reporta No downloaded content was detected. Specify a package slug directly if its files are completely missing. — informe o slug diretamente.
  • Um seletor desconhecido reporta Unknown Nightbreak content package: <name>.
  • Ele compartilha a mesma proteção contra execuções sobrepostas das outras operações em massa e exige freeminecraftmodels.*.

/fmm admin abre uma GUI de inventário no jogo que permite admins navegarem todo o conteúdo instalado de uma vez. O navegador mostra:

  • todos os pacotes instalados (com contagens separadas de props e itens)
  • pastas de modelos sem pacote (com contagens separadas de props e itens)
  • props individuais (modelos sem material: na configuração YML)
  • itens customizados (modelos que têm material: definido na configuração YML)

Props e itens são exibidos de forma distinta: props usam estilo amarelo e um ícone de papel, enquanto itens customizados usam estilo roxo e mostram seu material configurado. Um modelo que tem material: definido em sua configuração YML aparece apenas como um item customizado, nunca como ambos prop e item.

Clicar em qualquer entrada no navegador de admin dá ao jogador uma cópia daquele item. Para itens customizados, o item dado inclui o material configurado, encantamentos, lore e a tag PDC fmm_item_id. Esta é a forma mais rápida de obter props, itens customizados ou itens de modelo para testes e construção sem precisar saber o ID exato do modelo ou a sintaxe do comando.