Configuración de FreeMinecraftModels
Esta página cubre los ajustes actuales de config.yml y shop_config.yml que afectan materialmente la configuración inicial, el renderizado, la interacción del jugador y la tienda de muebles opcional.
Ubicaciones de Archivos
plugins/FreeMinecraftModels/config.yml
plugins/FreeMinecraftModels/shop_config.yml
shop_config.yml se genera en la primera ejecución; la tienda en sí permanece deshabilitada hasta que la habilites explícitamente.
Ajustes de config.yml
setupDone
- Predeterminado:
false - Controla si la guía de configuración inicial se considera completada
- Los jugadores con permisos amplios de FreeMinecraftModels reciben el recordatorio de ejecutar
/fmm initializemientras este valor permanezca enfalse - El flujo de configuración cambia este valor por ti; no necesitas editarlo a mano durante la incorporación normal
useDisplayEntitiesWhenPossible
- Predeterminado:
true - Indica a FreeMinecraftModels que prefiera el renderizado mediante display-entity cuando el servidor y la ruta del cliente lo soporten
- El plugin sigue recurriendo a los displays de armor-stand cuando las display entities no están disponibles (versiones anteriores a 1.19.4 o Bedrock)
- Los clientes Bedrock son un caso especial, así que no asumas que esto fuerza la misma ruta de renderizado para todos los jugadores
maxModelViewDistance
- Predeterminado:
60 - Limita la distancia a la que se envían entidades modeladas a los espectadores
- Valores más bajos reducen la carga de paquetes y renderizado del cliente en zonas densas con muchos modelos
- Entidades individuales pueden sobrescribir este valor en runtime mediante
ModeledEntity.setViewDistanceOverride(int)— consulta la guía de la API
maxInteractionAndAttackDistance
- Predeterminado:
3 - Se aplica a entidades modeladas estáticas y dinámicas
- Lo usan las comprobaciones de interacción y detección de impactos del runtime
maxInteractionAndAttackDistanceForProps
- Predeterminado:
6 - Se aplica a entidades prop
- Es independiente de la distancia de interacción para entidades estáticas/dinámicas
sendCustomModelsToBedrockClients
- Predeterminado:
false - Controla si FreeMinecraftModels intenta enviar modelos personalizados a clientes Bedrock
- Si está deshabilitado, los jugadores Bedrock vuelven a la entidad vanilla subyacente cuando exista (y los disfraces no se renderizarán para ellos)
- Si lo habilitas, asegúrate de que tu cadena de Bedrock/Geyser/Floodgate y el resource pack estén realmente listos para esos clientes
shop_config.yml
La tienda de muebles opcional respaldada por Vault vive en su propia configuración para que pueda habilitarse o ajustarse independientemente del comportamiento principal del plugin. La tienda se niega a registrarse si Vault o un proveedor de economía faltan.
Claves de nivel superior
| Clave | Predeterminado | Descripción |
|---|---|---|
enabled | false | Interruptor maestro para /fmm shop. El comando solo se registra cuando esto es true y Vault + un proveedor de economía están ambos presentes |
defaultPrice | 100.0 | Precio escrito en archivos de receta que no establezcan su propio shopPrice en la siguiente carga |
menuTitle | &8FMM - Furniture Shop | Título mostrado en la parte superior del inventario de la tienda (soporta códigos de color &) |
priceLoreFormat | &7Price: &e{price} | Línea de lore añadida a cada objeto de la tienda que muestra su precio. Marcador de posición: {price} |
clickToBuyLoreFormat | &aClick to purchase | Línea de lore añadida a cada objeto de la tienda que invita a la compra |
Claves de mensaje (messages.*)
Todos los strings de mensaje soportan códigos de color &.
| Clave | Predeterminado | Marcadores de posición |
|---|---|---|
messages.purchaseSuccess | &aPurchased &f{item} &afor &e{price}&a. Balance: &e{balance}&a. | {item}, {price}, {balance} |
messages.insufficientFunds | &cYou need &e{price} &cto buy &f{item}&c. Balance: &e{balance}&c. | {item}, {price}, {balance} |
messages.shopDisabled | &cThe furniture shop is currently unavailable. | ninguno |
messages.itemNotForSale | &cThat item is not currently for sale. | {item} |
messages.inventoryFull | &eYour inventory was full; &f{item} &ehas been dropped at your feet. | {item} |
Campos de tienda por receta
Cada archivo de receta en plugins/FreeMinecraftModels/recipes/<model_id>.yml obtiene dos campos adicionales:
| Campo | Predeterminado | Descripción |
|---|---|---|
shopEnabled | true | Si esta receta es visible en /fmm shop. Recetas con shopEnabled: false siguen siendo fabricables pero nunca se listan para compra |
shopPrice | defaultPrice de shop_config.yml | Coste en moneda Vault para este objeto específico |
El constructor de recetas (/fmm craftify) escribe ambos campos al guardar, de modo que ajustar el precio es solo cuestión de editar texto.
Permisos
Registrados en plugin.yml
| Permiso | Predeterminado | Descripción |
|---|---|---|
freeminecraftmodels.* | op | Comodín que otorga permisos de admin + disfraz propio/de otros |
freeminecraftmodels.admin | op | Acceso a comandos de administrador como /fmm admin, /fmm giveitem y /fmm location |
freeminecraftmodels.disguise.self | op | Permite /fmm disguise / /fmm undisguise sobre el emisor |
freeminecraftmodels.disguise.others | op | Permite disguise/undisguise dirigidos más /fmm disguiselist |
freeminecraftmodels.menu | true | Acceso al menú de objetos fabricables /fmm |
freeminecraftmodels.shop | true | Acceso a /fmm shop |
Aplicados por los comandos (no registrados en plugin.yml)
| Permiso | Predeterminado | Descripción |
|---|---|---|
freeminecraftmodels.deleteall | op | Acceso a /fmm deleteall (comprobado por el manejador del comando en runtime) |
Configuración YML de Modelo
Cada archivo .bbmodel puede tener un archivo .yml compañero (mismo nombre, mismo directorio) que controla ajustes específicos del modelo. El formato YML unificado soporta los siguientes campos:
isEnabled: true
voxelize: true
solidify: true
scripts:
- my_script.lua
material: DIAMOND_SWORD
name: "&bFrost Blade"
lore:
- "&7A sword forged in ice"
- "&7Deals frost damage"
enchantments:
- SHARPNESS,3
- UNBREAKING,2
| Campo | Tipo | Descripción |
|---|---|---|
isEnabled | booleano | Si el modelo se carga (predeterminado: true) |
scripts | lista de strings | Nombres de archivos de script Lua a adjuntar (de plugins/FreeMinecraftModels/scripts/) |
voxelize | booleano | Cuando es true, el prop se ajusta a incrementos de rotación de 90 grados y se alinea a la cuadrícula de bloques al colocarse. La huella se calcula desde las dimensiones de la hitbox del modelo (redondeadas a bloques enteros). La colocación verifica que todos los bloques en la huella no son sólidos. |
solidify | booleano | Cuando es true (requiere voxelize: true), se colocan bloques de barrera solo a nivel de paquete en cada bloque de la huella del prop, dándole colisión del lado del cliente. Estas barreras son invisibles y existen solo en paquetes — no se colocan en el mundo. Las barreras se eliminan automáticamente cuando el prop se recoge o se destruye. |
material | string | Un nombre de material Bukkit (p. ej. DIAMOND_SWORD, PAPER). Cuando se establece, el modelo se convierte en un objeto personalizado que los jugadores pueden sostener y equipar |
name | string | Nombre de visualización para el objeto personalizado (soporta códigos de color &) |
lore | lista de strings | Líneas de lore para el objeto personalizado (soporta códigos de color &) |
enchantments | lista de strings | Encantamientos en formato ENCHANTMENT_NAME,LEVEL (p. ej. SHARPNESS,3) |
Cuando se establece material, el modelo se registra como un objeto personalizado. Los jugadores pueden recibirlo mediante /fmm giveitem, fabricarlo si se ha configurado una receta, y obtiene acceso a los 22 hooks Lua de objeto.
Notas Operativas
/fmm reloadreimporta el contenido y regenera el pack de salida, por lo que los cambios de configuración que afectan al comportamiento de renderizado son más fáciles de validar tras una recarga. Se despacha unFmmReloadedEventen cada recarga para que los plugins dependientes puedan revincular sus adjuntos de modelo.- FreeMinecraftModels solo genera el resource pack; no lo aloja por sí mismo.
- ResourcePackManager sigue siendo la ruta de entrega recomendada para clientes Java y la ruta documentada más segura para configuraciones mixtas.
- WorldGuard, WorldEdit, GriefPrevention y Vault están declarados como
softdependenplugin.yml— ninguno es necesario para iniciar el plugin, pero desbloquean funciones específicas cuando están presentes (predicados Lua conscientes de protección y la tienda de muebles).
Cuándo Cambiar Estos Valores
Usa esta configuración para ajustar el comportamiento en runtime, no para gestionar paquetes de contenido.
- Usa
/fmm initialize,/fmm setup,/fmm downloadally/fmm updatecontentpara el ciclo de vida de paquetes oficiales - Usa la carpeta
importspara trabajo de importación manual de.bbmodelu otro contenido local - Usa
config.ymlcuando necesites ajustar el modo de render, la distancia de visibilidad, la distancia de interacción o el comportamiento Bedrock - Usa
shop_config.yml(y los camposshopEnabled/shopPricepor receta) para ajustar la tienda de muebles sin tocar código
Advertencias Conocidas
- El comportamiento Bedrock depende tanto de
sendCustomModelsToBedrockClientscomo de tu configuración más amplia de Floodgate/Geyser/resource-pack, así que mantén tus afirmaciones conservadoras a menos que hayas probado tu stack exacto. - La tienda se deshabilita silenciosamente si falta Vault o un proveedor de economía. Usa
/fmm versiony revisa la consola al iniciar si/fmm shopfalta inesperadamente.