Pular para o conteúdo principal

Saída do Resource Pack do FreeMinecraftModels

O FreeMinecraftModels atualmente escreve seu pack gerado em output, não em outputs.

Caminhos de Saída Padrão

O plugin reconstrói esta pasta na inicialização e em /fmm reload:

plugins/FreeMinecraftModels/output/FreeMinecraftModels

Ele então compacta essa pasta em:

plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip

Esse caminho de zip é o que o ResourcePackManager espera quando se integra ao FreeMinecraftModels.

O Que É Gerado

A pasta gerada sempre inclui:

  • pack.mcmeta
  • pack.png
  • assets/minecraft/atlases/blocks.json
  • assets/freeminecraftmodels/... saída de modelos e texturas

Para Minecraft 1.21.4+, o FreeMinecraftModels gera arquivos de definição de item-model em:

assets/freeminecraftmodels/items

Para servidores mais antigos, ele recorre ao caminho legado de override de modelo via armadura de cavalo de couro.

Saída de Display Model (1.21.4+)

Quando um modelo tem um arquivo de display model .json irmão (veja Notas de Autoria de Modelos), o FMM copia esse JSON (com referências de textura reescritas para combinar com as texturas extraídas) para:

assets/freeminecraftmodels/models/display/{modelId}.json

Também gera uma definição de item correspondente em:

assets/freeminecraftmodels/items/display/{modelId}.json

O DisplayModelRegistry rastreia quais modelos têm JSONs de display em runtime para que ItemMeta.setItemModel() possa ser chamado em ItemStacks para dar-lhes a aparência correta na mão e no inventário.

Saída de Item Condicional para Arcos e Bestas

Quando o FMM detecta um conjunto de modelos de estado de arco ou besta (veja Notas de Autoria de Modelos), ele gera um único JSON de definição de item para o modelo _idle que alterna condicionalmente entre todos os estados no nível do resource pack. Nenhum trabalho de pacote no lado do servidor é necessário -- o cliente lida com as transições de estado nativamente.

Saída de Arco

Para arcos, a definição de item gerada usa minecraft:condition em using_item com um minecraft:range_dispatch em use_duration (escala 0.05):

CondiçãoModelo usado
Não usando o item_idle
Usando, fallback (acabou de começar)_draw_start
Usando, limiar 0.65_draw_half
Usando, limiar 0.9_draw_full

Saída de Besta

Para bestas, a definição de item gerada usa minecraft:select em charge_type. Quando carregada (flecha ou foguete), mostra o modelo _charged. O fallback descarregado usa minecraft:range_dispatch em crossbow/pull:

CondiçãoModelo usado
Não usando, não carregada_idle
Usando, fallback (acabou de começar)_draw_start
Usando, limiar 0.58_draw_half
Usando, limiar 1.0_draw_full
Carregada (flecha ou foguete)_charged

Localização de Saída

A definição de item condicional gerada é escrita junto com outras definições de item em:

assets/freeminecraftmodels/items/display/{baseModelId}_idle.json

Apenas o modelo _idle recebe um arquivo de definição de item. Os modelos de saque e carregado são referenciados dentro dele como entradas condicionais.

Correções de Compatibilidade com Minecraft 26.1+

O gerador de pack aplica duas correções automáticas de compatibilidade para Minecraft 26.1 e mais recentes:

  • Clamp de UV: modelos de item gerados clampam coordenadas UV para o intervalo 016 para evitar os artefatos de sangramento de textura introduzidos pelo validador mais rigoroso do 26.1.
  • Modelos de bloco de bone vazios: bones que não têm cubos (ou só contêm um filho anchor_) costumavam emitir JSON de modelo de bloco malformado em 26.1+. O gerador agora emite um placeholder válido para que o resource pack ainda carregue.

Essas correções se aplicam automaticamente; nenhuma configuração é necessária.

Comportamento de Reload

Quando o FreeMinecraftModels recarrega, ele:

  • reexecuta a etapa de importação de conteúdo
  • reconstrói a pasta output/FreeMinecraftModels
  • regenera output/FreeMinecraftModels.zip
  • dispara resourcepackmanager reload se o ResourcePackManager estiver instalado

É por isso que setups modernos de FMM + ResourcePackManager não precisam mais do antigo fluxo manual de cópia de zip.