Saltar al contenido principal

Salida del Resource Pack de FreeMinecraftModels

Actualmente FreeMinecraftModels escribe su pack generado en output, no en outputs.

Rutas de Salida Predeterminadas

El plugin reconstruye esta carpeta durante el inicio y con /fmm reload:

plugins/FreeMinecraftModels/output/FreeMinecraftModels

Luego comprime esa carpeta en:

plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip

Esa ruta zip es la que ResourcePackManager espera cuando se integra con FreeMinecraftModels.

Qué se Genera

La carpeta generada siempre incluye:

  • pack.mcmeta
  • pack.png
  • assets/minecraft/atlases/blocks.json
  • assets/freeminecraftmodels/... salida de modelos y texturas

Para Minecraft 1.21.4+, FreeMinecraftModels genera archivos de definición de item-model bajo:

assets/freeminecraftmodels/items

Para servidores más antiguos, recurre a la ruta heredada del modelo override de leather-horse-armor.

Salida del Modelo de Visualización (1.21.4+)

Cuando un modelo tiene un archivo .json hermano de modelo de visualización (consulta Notas de Creación de Modelos), FMM copia ese JSON (con las referencias de textura reescritas para coincidir con las texturas extraídas) en:

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

También genera una definición de item correspondiente en:

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

El DisplayModelRegistry rastrea qué modelos tienen JSONs de display en runtime para que ItemMeta.setItemModel() pueda ser llamado en ItemStacks para darles la apariencia correcta en la mano y en el inventario.

Salida Condicional de Item para Arco y Ballesta

Cuando FMM detecta un conjunto de modelos de estado de arco o ballesta (consulta Notas de Creación de Modelos), genera una única definición de item JSON para el modelo _idle que conmuta condicionalmente entre todos los estados a nivel de resource pack. No se necesita trabajo de paquetes del lado del servidor -- el cliente maneja las transiciones de estado de forma nativa.

Salida de Arco

Para arcos, la definición de item generada usa minecraft:condition sobre using_item con un minecraft:range_dispatch sobre use_duration (escala 0.05):

CondiciónModelo usado
No usando el objeto_idle
Usando, fallback (recién iniciado)_draw_start
Usando, umbral 0.65_draw_half
Usando, umbral 0.9_draw_full

Salida de Ballesta

Para ballestas, la definición de item generada usa minecraft:select sobre charge_type. Cuando está cargada (flecha o cohete), muestra el modelo _charged. El fallback sin cargar usa minecraft:range_dispatch sobre crossbow/pull:

CondiciónModelo usado
No usando, no cargada_idle
Usando, fallback (recién iniciado)_draw_start
Usando, umbral 0.58_draw_half
Usando, umbral 1.0_draw_full
Cargada (flecha o cohete)_charged

Ubicación de Salida

La definición condicional de item generada se escribe junto a las demás definiciones de item en:

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

Solo el modelo _idle obtiene un archivo de definición de item. Los modelos de draw y charged se referencian dentro de él como entradas condicionales.

Correcciones de Compatibilidad para Minecraft 26.1+

El generador de packs aplica dos correcciones de compatibilidad automáticas para Minecraft 26.1 y posterior:

  • Clamping de UV: los item models generados clampean las coordenadas UV al rango 016 para evitar los artefactos de sangrado de textura introducidos por el validador más estricto de 26.1.
  • Block models de hueso vacíos: los huesos que no tienen cubos (o que solo contienen un hijo anchor_) solían emitir JSON de block model malformado en 26.1+. El generador ahora emite un placeholder válido para que el resource pack siga cargándose.

Estas correcciones se aplican automáticamente; no se requiere configuración.

Comportamiento de Recarga

Cuando FreeMinecraftModels se recarga:

  • vuelve a ejecutar el paso de import de contenido
  • reconstruye la carpeta output/FreeMinecraftModels
  • regenera output/FreeMinecraftModels.zip
  • despacha resourcepackmanager reload si ResourcePackManager está instalado

Por esto las configuraciones modernas de FMM + ResourcePackManager ya no necesitan el viejo flujo manual de copiar el zip.