pack.mcmeta: números de pack_format y la advertencia de "incompatible"
Un número entero incorrecto hace que Minecraft desactive tu paquete. Aquí tienes el mapeo de formato a versión, el rango de supported_formats que evita todo el problema y dónde debe ubicarse el archivo.
Casi todos los casos de "mi paquete aparece como incompatible" se deben a un número en un archivo pequeño.
El archivo
{
"pack": {
"pack_format": 46,
"description": "My pack"
}
}
Debe llamarse exactamente pack.mcmeta y estar en la raíz del archivo zip, junto a assets/ o data/, no dentro de una carpeta dentro del zip. Comprimir la carpeta contenedora en lugar de su contenido es el segundo error más común, y se ve idéntico a un número de formato incorrecto.
Los paquetes de recursos y los paquetes de datos usan números diferentes
Esta es la parte que confunde a la gente: los dos contadores divergieron hace años y no son intercambiables. Un paquete de datos que usa un número de paquete de recursos aparece atenuado aunque el número sea "actual".
En lugar de memorizar una tabla que se desactualiza con cada lanzamiento, lee el número de un paquete vanilla para la versión a la que te diriges, o deja que un generador lo complete.
supported_formats es la verdadera solución
Fijar un número entero significa que el paquete se romperá en el próximo lanzamiento. Un rango no:
{
"pack": {
"pack_format": 46,
"supported_formats": { "min_inclusive": 42, "max_inclusive": 99 },
"description": "My pack"
}
}
pack_format sigue siendo la declaración principal; supported_formats amplía lo que el juego acepta sin la advertencia. Para un paquete que solo añade texturas o recetas —que es la mayoría de los paquetes—, un rango amplio es honesto, porque nada en él se rompe realmente entre versiones.
La descripción acepta componentes de texto
"description": [
{ "text": "My pack ", "color": "gold" },
{ "text": "v2", "color": "gray", "italic": true }
]
Los códigos de signo de sección (§6) también siguen funcionando, pero la forma JSON sobrevive a copiar y pegar a través de herramientas que eliminan los caracteres de control.
Superposiciones (Overlays), para soportar varias versiones a la vez
"overlays": { "entries": [
{ "formats": { "min_inclusive": 42, "max_inclusive": 45 }, "directory": "older" }
] }
La carpeta older/ en la raíz del paquete se usa solo en esos formatos. Así es como una sola descarga soporta dos versiones con diferentes formatos de modelo, en lugar de distribuir dos archivos zip.
Diagnóstico rápido
| Síntoma | Causa |
|---|---|
| Atenuado, "hecho para una versión anterior/posterior" | pack_format incorrecto |
| El paquete no aparece en absoluto | pack.mcmeta no está en la raíz del zip, o JSON inválido |
| Carga, faltan texturas | formato del paquete correcto; las rutas de las texturas son incorrectas |
| Funciona en un jugador, no en un servidor | paquete de datos en la carpeta de mundo incorrecta |
Una coma al final es JSON inválido y produce el caso de "no aparece en absoluto", no un mensaje de error.
Genera un archivo válido para tu tipo de paquete y versión de destino —con supported_formats completado— usando el Generador de pack.mcmeta.