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.mcmetapack.pngassets/minecraft/atlases/blocks.jsonassets/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ón | Modelo 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ón | Modelo 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
0–16para 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 reloadsi ResourcePackManager está instalado
Por esto las configuraciones modernas de FMM + ResourcePackManager ya no necesitan el viejo flujo manual de copiar el zip.