MC Toolkit

Guides / Construction et ressources

Un pack de skins Bedrock, c'est quatre fichiers, et deux de ses modes de défaillance sont silencieux

Deux UUID qui doivent différer, un fichier de langue qui n'est pas optionnel, et des clés de skin qui suppriment la ponctuation — ainsi « My Skin! » et « My Skin? » deviennent un seul skin sans aucune erreur.

Un .mcpack est un zip avec une extension différente, et un pack de skins à l'intérieur de celui-ci a besoin d'exactement quatre types de fichiers :

manifest.json      a header and a skin_pack module, each with its own UUID
skins.json         one entry per skin: texture, geometry, and a KEY
texts/en_US.lang   the display names — skins.json holds only keys
*.png              the textures themselves

Trois des quatre sont faciles à réussir. Les défaillances intéressantes viennent toutes de la relation entre eux.

Les deux UUID doivent différer

manifest.json porte un UUID dans son header et un autre dans son module skin_pack :

{
  "format_version": 1,
  "header":  { "name": "…", "uuid": "…", "version": [1, 0, 0] },
  "modules": [ { "type": "skin_pack", "uuid": "…", "version": [1, 0, 0] } ]
}

Ce sont deux identités distinctes — le pack, et la chose à l'intérieur du pack — et réutiliser une seule valeur pour les deux est une véritable erreur, même si rien ne se plaint au moment de la compilation.

Il y a une seconde conséquence, plus subtile : une réimportation avec les mêmes UUID est traitée comme le même pack, et Minecraft conserve silencieusement la copie qu'il possède déjà. Modifier un pack, le recompiler avec les mêmes identifiants et le réimporter donne l'impression que rien ne s'est passé. Chaque compilation issue de cette page obtient de nouveaux UUID pour exactement cette raison, ce qui explique aussi pourquoi réimporter un pack modifié nécessite un nouveau téléchargement plutôt qu'un simple re-zip de l'ancien.

Le fichier de langue n'est pas optionnel

skins.json ne contient jamais de nom d'affichage. Il contient une clé, et texts/en_US.lang associe cette clé à un texte :

skinpack.<PackKey>=My Pack
skin.<PackKey>.<SkinKey>=My First Skin

Livrez le pack sans le fichier de langue et rien ne plante — chaque skin apparaît simplement dans le jeu sous sa clé brute. C'est la raison la plus courante pour laquelle un pack assemblé à la main semble cassé alors qu'il se valide sans problème.

Les clés suppriment la ponctuation, et les doublons fusionnent

Une clé doit être alphanumérique. Tout le reste est retiré :

votre nomclé
My Skin!MySkin
My Skin?MySkin
Skin #2Skin2
!!!Skin1 (repli, selon la position)

Les deux premières lignes sont le piège. Deux skins nommés distinctement par un humain deviennent une seule clé, et une clé en double ne provoque pas d'erreur — elle fusionne silencieusement en un seul skin dans le jeu. Vous téléversez douze skins, vous en obtenez onze, et rien ne vous dit lequel a disparu.

Le générateur présenté ici s'en protège en ajoutant un compteur à toute clé déjà utilisée, de sorte que le second MySkin devient MySkin2. Bon à savoir si vous assemblez un pack à la main : la vérification nécessaire porte sur les noms épurés, pas sur ceux que vous avez saisis.

Un nom entièrement composé de ponctuation ne laisse rien du tout, il retombe donc sur Skin suivi de sa position dans la liste.

Slim nécessite la bonne chaîne de géométrie

Chaque entrée nomme un modèle, et il en existe deux :

  • geometry.humanoid.custom — classique, bras de 4 pixels
  • geometry.humanoid.customSlim — slim, bras de 3 pixels

Se tromper ici est la cause habituelle d'un skin aux proportions d'Alex qui se retrouve avec les bras cubiques de Steve. La texture est correcte ; c'est le modèle qui est demandé. Le générateur de pack le devine à partir des deux colonnes qu'un bras slim laisse vides (x 54–55) et vous permet de le corriger entrée par entrée, mais un skins.json écrit à la main doit le préciser explicitement, et les deux chaînes diffèrent de quatre caractères à la fin.

Les entrées portent aussi "type": "free", et une cape est un PNG supplémentaire optionnel référencé depuis la même entrée — la cape voyage à l'intérieur du pack de skins plutôt que comme un téléchargement séparé.

Créateur de packs de skins →

Plus de guides

Tout voir →