Notas de creacion de modelos de FreeMinecraftModels
Esta pagina documenta los detalles de creacion visibles actualmente en el codigo de FreeMinecraftModels. Es intencionalmente conservadora: se centra en el contrato de importacion y ejecucion, no en cada preferencia de flujo de trabajo de Blockbench.
Formatos de origen
Actualmente FreeMinecraftModels acepta:
- archivos
.bbmodelpara importaciones editables de origen - archivos
.fmmodelpara datos de modelo reducidos y listos para ejecucion
El flujo de importacion normal es:
- colocar el modelo en
plugins/FreeMinecraftModels/imports - ejecutar
/fmm reload - dejar que FreeMinecraftModels importe el modelo al conjunto activo y vuelva a generar el resource pack resultante
Roles de carpetas
plugins/FreeMinecraftModels/imports
plugins/FreeMinecraftModels/models
plugins/FreeMinecraftModels/models_disabled
importses la carpeta de entrada para importaciones manuales de modelos y descargas oficiales de paquetes antes del procesamientomodelscontiene el contenido de modelos instalado y activomodels_disabledcontiene contenido de paquetes descargado o instalado que esta desactivado actualmente
IDs de modelo
- Los IDs de modelo en tiempo de ejecucion salen del nombre del archivo, sin la extension
.bbmodelo.fmmodel - Usa nombres de archivo estables y unicos porque esa ID es la que resuelven los comandos y las llamadas de API
- Las referencias de animacion de Blockbench dependen del nombre, por lo que una nomenclatura duplicada o ambigua dentro del modelo tiene mas probabilidades de causar problemas que una nomenclatura clara y explicita
Compatibilidad con Blockbench
- FreeMinecraftModels detecta la version del archivo de Blockbench durante la importacion
- El importador actual todavia contiene ramas de compatibilidad para versiones anteriores a Blockbench v5
- Si los registros de importacion indican que el formato del modelo no es compatible con FreeMinecraftModels, tratelo primero como un problema de formato de modelo, no como un problema del wiki o de comandos
Convenciones de bones con impacto en runtime
La canalizacion actual de conversion y skeleton reconoce algunas convenciones de nombre:
hitbox- reservado para la generacion de hitbox
- debe definir claramente la hitbox del modelo en vez de usarse como bone visual
tag_...- se trata como bones virtuales relacionados con nametags
h_...- se trata como bones de cabeza
No son solo convenciones de estilo; afectan la conversion y el comportamiento en tiempo de ejecucion.
IK, null objects y locators
El codigo actual confirma soporte para:
- null objects de Blockbench como controladores IK
- blueprints de cadenas IK y resolucion IK en runtime
- parseo de locators
Restriccion practica importante:
- La busqueda de controladores IK depende del nombre, asi que la nomenclatura del controlador debe mantenerse estable entre la estructura del modelo y los datos de animacion
Separacion de salida en 1.21.4+
Para Minecraft 1.21.4+, FreeMinecraftModels genera archivos de definicion de item model en:
plugins/FreeMinecraftModels/output/FreeMinecraftModels/assets/freeminecraftmodels/items
Las versiones anteriores siguen usando la ruta heredada de item models. Si estas comprobando la salida generada mientras creas modelos, asegurate de mirar la forma de salida correcta para tu version del servidor.
Notas sobre Bedrock y rutas de renderizado
- El soporte para Bedrock depende de
sendCustomModelsToBedrockClientsy de la ruta de Floodgate/Geyser/resource pack que la rodea - Los clientes Java en versiones compatibles pueden usar renderizado con display entities cuando
useDisplayEntitiesWhenPossibleesta activado - No des por hecho que un modelo que se ve bien en un cliente Java sea automaticamente seguro para la ruta de Bedrock
Consejos practicos de creacion
- mantenga estables los nombres de archivo porque se convierten en IDs de runtime
- mantenga explicitos los nombres de controladores y animaciones porque la resolucion de animaciones en Blockbench depende del nombre
- use de forma intencional los nombres reservados de virtual bones
- valide la salida importada despues de
/fmm reload, no solo dentro de Blockbench - verifique el contenido del pack generado para su linea objetivo de Minecraft, especialmente en
1.21.4+
Fuera de alcance
Esta pagina no intenta garantizar:
- pasos exactos de la interfaz de Blockbench
- preferencias artisticas de flujo de trabajo
- cada peculiaridad heredada de
.bbmodeldescrita en material README local antiguo
Esos detalles cambian mas rapido que el contrato de runtime verificado arriba.