Trois chemins de texture de pack de ressources sont plats. Celui des créatures est imbriqué, et ce n'est pas le pire
Les objets, les blocs et les tableaux sont dans un seul fichier. Les créatures vivent dans un dossier nommé d'après elles – et pour la plupart des créatures, ce dossier contient plusieurs fichiers, donc une surcharge d'un seul fichier passe inaperçue.
Surcharger une texture dans un pack de ressources signifie placer un PNG au chemin exact où le jeu le cherche. Pour trois des quatre types courants, ce chemin est complètement régulier. Pour le quatrième, il ne l'est pas, et l'irrégularité est pire qu'il n'y paraît au premier abord.
Les quatre chemins
assets/minecraft/textures/item/<name>.png
assets/minecraft/textures/block/<name>.png
assets/minecraft/textures/painting/<name>.png
assets/minecraft/textures/entity/<name>/<name>.png ← note the folder
Les objets, les blocs et les tableaux sont un seul fichier dans un répertoire partagé. Une créature est un répertoire qui lui est propre, nommé d'après la créature, contenant un fichier généralement nommé également d'après la créature. Ainsi, la texture du zombie est entity/zombie/zombie.png, et non entity/zombie.png.
Notez également que les créatures vivent sous entity/, et non mob/ — le dossier est nommé d'après le concept de code plutôt que celui du jeu.
Le vrai problème est qu'une créature n'est souvent pas un seul fichier
L'imbrication est facile à retenir une fois que vous l'avez vue. Ce qui fait réellement échouer les surcharges, c'est ce qu'il y a d'autre dans ce dossier.
Le remplacement d'une créature par un seul PNG est confirmé pour fonctionner pour exactement dix d'entre elles :
zombie · Squelette · creeper · Mouton · Araignée · enderman · Loup · Sorcière · blaze · Villageois
Tout le reste peut conserver ses textures dans un sous-dossier différent, ou les répartir sur plusieurs fichiers — variantes bébés, variantes apprivoisées, variantes de couleur. Un Cheval n'est pas une image. Un Chat n'est pas une image. Remplacer un fichier dans ces cas modifie un état de la créature et laisse le reste intact, ce qui se lit dans le jeu comme "mon pack n'a été appliqué qu'à moitié".
C'est le mode d'échec qu'il faut intérioriser : un chemin incorrect n'affiche aucun changement de texture, mais un ensemble de chemins incomplet en affiche un partiel — et le second est beaucoup plus difficile à diagnostiquer, car le pack fonctionne manifestement.
La priorité est du plus élevé au premier, ce qui n'est pas ce que suggère un zip
Lorsque les packs sont fusionnés, le pack listé en premier l'emporte en cas de conflits de chemins. L'index 0 est la priorité la plus élevée.
Cela vaut la peine d'être clairement énoncé car cela inverse le modèle mental que les gens ont de la superposition de fichiers, où le dernier élément écrit l'emporte. Ici, le premier pack de la liste est celui dont la version de item/diamond_sword.png survit ; tout ce qui se trouve en dessous ne fait que remplir les chemins que ceux d'au-dessus n'ont pas revendiqués.
Deux détails sur l'identité du pack
pack.png est l'icône et se trouve à la racine du zip, pas sous assets/. Elle est carrée à 64 × 64 — une image non carrée est redimensionnée plutôt que d'avoir des bandes noires, donc une icône conçue en 16:9 sera déformée plutôt que rembourrée.
Les codes couleur dans le nom du pack sont du texte littéral. Les caractères § vont dans pack.mcmeta exactement tels qu'ils sont tapés et Minecraft les rend à l'affichage : §a vert, §c rouge, §b aqua, §e jaune, §d rose, §l gras, §r réinitialiser. Il n'y a pas d'étape d'échappement ni de composant de texte JSON impliqué — le signe de section brut dans une chaîne de caractères simple est tout le mécanisme.