The Best Resource for Minecraft
The Best Resource for Minecraft

Un pacchetto di skin Bedrock è composto da quattro file e due delle sue modalità di errore sono silenziose

Un pacchetto di skin Bedrock è composto da quattro file e due delle sue modalità di errore sono silenziose

Due UUID che devono essere diversi, un file lang non facoltativo e chiavi skin che rimuovono la punteggiatura — così 'My Skin!' e 'My Skin?' diventano un'unica skin senza alcun errore.

A .mcpack is a zip with a different extension, and a skin pack inside one needs exactly four kinds of file:

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

Tre su quattro sono facili da impostare correttamente. Gli errori più interessanti derivano tutti dalla relazione tra di essi.

I due UUID devono essere diversi

manifest.json carries a UUID in its header and another in its skin_pack module:

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

Sono due identità separate — il pacchetto e l'elemento al suo interno — e riutilizzare lo stesso valore per entrambi è un vero errore, anche se non viene segnalato nulla durante la creazione.

C'è una seconda conseguenza, più sottile: una reimportazione con gli stessi UUID viene trattata come lo stesso pacchetto, e Minecraft conserva silenziosamente la copia che ha già. Modificare un pacchetto, ricrearlo con gli stessi identificatori e reimportarlo sembra non avere alcun effetto. Ogni creazione da questa pagina riceve nuovi UUID proprio per questo motivo, ed è anche il motivo per cui reimportare un pacchetto modificato richiede un nuovo download anziché ricomprimere il vecchio file.

Il file lang non è facoltativo

skins.json never contains a display name. It contains a chiave, e texts/en_US.lang maps that key to text:

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

Distribuisci il pacchetto senza il file lang e non si verifica alcun errore — ogni skin appare semplicemente nel gioco con la sua chiave grezza. Questo è il motivo più comune per cui un pacchetto assemblato a mano sembra corrotto pur superando la convalida.

Le chiavi rimuovono la punteggiatura e i duplicati si uniscono

Una chiave deve essere alfanumerica. Tutto il resto viene rimosso:

il tuo nomechiave
My Skin!MySkin
My Skin?MySkin
Skin #2Skin2
!!!Skin1 (fallback, by position)

Le prime due righe sono la trappola. Due skin nominate diversamente da un utente diventano un'unica chiave, e una chiave duplicata non genera errori — si fonde silenziosamente in una singola skin nel gioco. Carichi dodici skin, ne ottieni undici e nulla ti dice quale sia andata persa.

Il generatore qui si protegge da ciò aggiungendo un contatore a qualsiasi chiave già utilizzata, quindi la seconda MySkin becomes MySkin1. Worth knowing if you assemble a pack by hand: the check you need is on the ripuliti nomi, non quelli digitati.

Un nome composto interamente da punteggiatura non lascia nulla, quindi ricorre a Skin plus its position in the list.

Slim richiede la stringa di geometria corretta

Ogni voce indica un modello, e ce ne sono due:

  • geometry.humanoid.custom — classic, 4-pixel arms
  • geometry.humanoid.customSlim — slim, 3-pixel arms

Sbagliare questo parametro è la causa comune di una skin con le proporzioni di Alex che appare con le braccia squadrate di Steve. La texture va bene; è il modello a essere richiesto. Il creatore di pacchetti lo deduce campionando la quarta colonna del braccio, ma un file scritto a mano skins.json has to say it explicitly, and the two strings differ by four characters at the end.

Le voci contengono anche "type": "free", and a cape is an optional extra PNG referenced from the same entry — the cape travels inside the skin pack rather than as a separate download.

Prova lo strumento: Skin Pack Maker →