Salida del Resource Pack de FreeMinecraftModels
FreeMinecraftModels actualmente escribe su paquete 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 modelos de ítems bajo:
assets/freeminecraftmodels/items
Para servidores más antiguos, recurre a la ruta heredada del modelo de anulación de armadura de caballo de cuero.
Salida de Display Model (1.21.4+)
Cuando un modelo tiene un archivo .json de display model hermano (ver 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 ítem 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 mano y en inventario.
Salida Condicional de Ítems de Arco y Ballesta
Cuando FMM detecta un conjunto de modelos de estado de arco o ballesta (ver Notas de Creación de Modelos), genera un único JSON de definición de ítem para el modelo _idle que cambia 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 nativamente.
Salida de Arco
Para arcos, la definición de ítem generada usa minecraft:condition en using_item con un minecraft:range_dispatch en use_duration (escala 0.05):
| Condición | Modelo usado |
|---|---|
| Sin usar el ítem | _idle |
| Usando, respaldo (recién empezado) | _draw_start |
Usando, umbral 0.65 | _draw_half |
Usando, umbral 0.9 | _draw_full |
Salida de Ballesta
Para ballestas, la definición de ítem generada usa minecraft:select en charge_type. Cuando está cargada (flecha o cohete), muestra el modelo _charged. El respaldo sin cargar usa minecraft:range_dispatch en crossbow/pull:
| Condición | Modelo usado |
|---|---|
| Sin usar, sin cargar | _idle |
| Usando, respaldo (recién empezado) | _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 ítem generada se escribe junto a otras definiciones de ítems en:
assets/freeminecraftmodels/items/display/{baseModelId}_idle.json
Solo el modelo _idle obtiene un archivo de definición de ítem. Los modelos de tensado y cargado se referencian dentro de él como entradas condicionales.
Comportamiento de Recarga
Cuando FreeMinecraftModels se recarga:
- re-ejecuta el paso de importación de contenido
- reconstruye la carpeta
output/FreeMinecraftModels - regenera
output/FreeMinecraftModels.zip - ejecuta
resourcepackmanager reloadsi ResourcePackManager está instalado
Por esto las configuraciones modernas de FMM + ResourcePackManager ya no necesitan el antiguo flujo de trabajo de copia manual del zip.