Pular para o conteúdo principal

Saída do Resource Pack do FreeMinecraftModels

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

Caminhos de Saída Padrão

O plugin reconstrói esta pasta durante a inicialização e ao executar /fmm reload:

plugins/FreeMinecraftModels/output/FreeMinecraftModels

Em seguida, compacta essa pasta em:

plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip

Esse caminho do zip é o que o ResourcePackManager espera quando se integra com o 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+, FreeMinecraftModels gera arquivos de definição de item-model em:

assets/freeminecraftmodels/items

Para servidores mais antigos, ele recorre ao caminho legado de modelo de substituição de armadura de cavalo de couro.

Saída de Display Model (1.21.4+)

Quando um modelo tem um arquivo .json de display model irmão (veja Notas de Criação de Modelos), FMM copia esse JSON (com referências de textura reescritas para corresponder às 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 Condicional de Itens de Arco e Besta

Quando FMM detecta um conjunto de modelos de estado de arco ou besta (veja Notas de Criação de Modelos), 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 pacotes do lado do servidor é necessário -- o cliente lida com 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
Sem usar o item_idle
Usando, fallback (recém começado)_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 não carregado usa minecraft:range_dispatch em crossbow/pull:

CondiçãoModelo usado
Sem usar, sem carga_idle
Usando, fallback (recém começado)_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 condicional de item 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 puxar e carregado são referenciados dentro dele como entradas condicionais.

Comportamento de Reload

Quando FreeMinecraftModels recarrega, ele:

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

É por isso que configurações modernas de FMM + ResourcePackManager não precisam mais do antigo fluxo manual de cópia de zip.