Bir Bedrock görünüm paketi dört dosyadır ve başarısızlık modlarından ikisi sessizdir
Farklı olması gereken iki UUID, isteğe bağlı olmayan bir lang dosyası ve noktalama işaretlerini silen görünüm anahtarları — böylece 'My Skin!' ve 'My Skin?' hatasız bir şekilde tek bir görünüm olur.
Bir .mcpack, uzantısı farklı bir zip dosyasıdır ve içindeki bir görünüm paketi tam olarak dört tür dosyaya ihtiyaç duyar:
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
Dördünden üçünü doğru yapmak kolaydır. İlginç başarısızlıkların hepsi aralarındaki ilişkiden kaynaklanır.
İki UUID farklı olmalıdır
manifest.json, header içinde bir UUID ve skin_pack modülünde başka bir UUID taşır:
{
"format_version": 1,
"header": { "name": "…", "uuid": "…", "version": [1, 0, 0] },
"modules": [ { "type": "skin_pack", "uuid": "…", "version": [1, 0, 0] } ]
}
Bunlar iki ayrı kimliktir — paket ve paketin içindeki şey — ve derleme sırasında hiçbir şey şikayet etmese de her ikisi için tek bir değeri yeniden kullanmak gerçek bir hatadır.
Daha ince, ikinci bir sonuç daha vardır: aynı UUID'lerle yeniden içe aktarma aynı paket olarak değerlendirilir ve Minecraft sessizce zaten sahip olduğu kopyayı korur. Bir paketi düzenlemek, aynı tanımlayıcılarla yeniden derlemek ve yeniden içe aktarmak hiçbir şey yapmamış gibi görünür. Bu sayfadaki her derleme tam da bu nedenle yeni UUID'ler alır; bu aynı zamanda düzenlenmiş bir paketi yeniden içe aktarmanın, eski paketin yeniden ziplenmesi yerine yeni bir indirme gerektirmesinin de nedenidir.
Lang dosyası isteğe bağlı değildir
skins.json hiçbir zaman bir görünen ad içermez. Bir anahtar içerir ve texts/en_US.lang bu anahtarı metne eşler:
skinpack.<PackKey>=My Pack
skin.<PackKey>.<SkinKey>=My First Skin
Paketi lang dosyası olmadan gönderin ve hiçbir şey hata vermez — her görünüm oyunda yalnızca ham anahtarıyla görünür. Bu, elle birleştirilmiş bir paketin doğrulamadan geçerken bozuk görünmesinin en yaygın nedenidir.
Anahtarlar noktalama işaretlerini siler ve kopyalar birleşir
Bir anahtar alfanümerik olmalıdır. Diğer her şey kaldırılır:
| adınız | anahtar |
|---|---|
My Skin! | MySkin |
My Skin? | MySkin |
Skin #2 | Skin2 |
!!! | Skin1 (konuma göre yedek) |
İlk iki satır tuzaktır. Bir insan tarafından belirgin şekilde adlandırılmış iki görünüm tek bir anahtar olur ve kopya bir anahtar hata vermez — oyunda sessizce tek bir görünüme dönüşür. On iki görünüm yüklersiniz, on bir tane alırsınız ve hiçbir şey hangisinin kaybolduğunu söylemez.
Buradaki oluşturucu, zaten kullandığı herhangi bir anahtara bir sayaç ekleyerek buna karşı koyar, böylece ikinci MySkin, MySkin2 olur. Bir paketi elle birleştirirseniz bilmeye değer: ihtiyacınız olan kontrol, yazdığınız adlar değil silinmiş adlardır.
Tamamen noktalama işaretlerinden oluşan bir ad hiçbir şey bırakmaz, bu yüzden Skin artı listedeki konumuna geri döner.
Slim doğru geometri dizesini gerektirir
Her giriş bir model belirtir ve iki tane vardır:
geometry.humanoid.custom— klasik, 4 piksellik kollargeometry.humanoid.customSlim— slim, 3 piksellik kollar
Bunu yanlış yapmak, Alex oranlarına sahip bir görünümün Steve'in bloklu kollarıyla ortaya çıkmasının olağan nedenidir. Doku iyidir; istenen model odur. Paket oluşturucu bunu bir slim kolun boş bıraktığı iki sütundan (x 54–55) tahmin eder ve giriş başına düzeltmenize izin verir, ancak elle yazılmış bir skins.json bunu açıkça söylemek zorundadır ve iki dize sonunda dört karakter farklıdır.
Girişler ayrıca "type": "free" taşır ve pelerin, aynı girişten başvurulan isteğe bağlı ek bir PNG'dir — pelerin ayrı bir indirme yerine görünüm paketinin içinde gelir.