Guides / Building & Resources

สกินแพ็ก Bedrock มี 4 ไฟล์ และ 2 โหมดความล้มเหลวที่ไม่มีการแจ้งเตือน

UUID สองตัวที่ต้องแตกต่างกัน ไฟล์ภาษาที่ไม่ใช่ทางเลือก และคีย์สกินที่ตัดเครื่องหมายวรรคตอนออก ทำให้ 'My Skin!' และ 'My Skin?' กลายเป็นสกินเดียวโดยไม่มีข้อผิดพลาด

.mcpack คือไฟล์ zip ที่มีนามสกุลต่างกัน และสกินแพ็กที่อยู่ภายในนั้นต้องการไฟล์สี่ประเภทพอดี:

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

สามในสี่ประเภทนั้นทำได้ง่าย ส่วนความล้มเหลวที่น่าสนใจทั้งหมดมาจากการเชื่อมโยงระหว่างไฟล์เหล่านั้น

UUID สองตัวต้องแตกต่างกัน

manifest.json มี UUID ใน header และอีกตัวในโมดูล skin_pack:

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

ทั้งสองเป็นตัวตนที่แยกจากกัน — แพ็ก และสิ่งที่อยู่ภายในแพ็ก — และการใช้ค่าเดียวกันสำหรับทั้งสองเป็นข้อผิดพลาดจริง แม้ว่าจะไม่มีการแจ้งเตือนใดๆ ในระหว่างการสร้าง

มีผลลัพธ์ที่สองที่ละเอียดอ่อนกว่า: การนำเข้าซ้ำด้วย UUID เดียวกันจะถือว่าเป็นแพ็กเดียวกัน และ Minecraft จะเก็บสำเนาที่มีอยู่แล้วไว้โดยไม่มีการแจ้งเตือน การแก้ไขแพ็ก สร้างใหม่ด้วยตัวระบุเดียวกัน และนำเข้าซ้ำจะดูเหมือนไม่มีอะไรเกิดขึ้น ทุกการสร้างจากหน้านี้จะได้รับ UUID ใหม่ด้วยเหตุผลดังกล่าว ซึ่งเป็นเหตุผลว่าทำไมการนำเข้าแพ็กที่แก้ไขแล้วจึงต้องดาวน์โหลดใหม่แทนที่จะนำไฟล์เก่ามาบีบอัดใหม่

ไฟล์ภาษาไม่ใช่ทางเลือก

skins.json ไม่เคยมีชื่อที่แสดง มันมี คีย์ และ texts/en_US.lang จะแมปคีย์นั้นกับข้อความ:

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

หากส่งแพ็กโดยไม่มีไฟล์ภาษา จะไม่มีข้อผิดพลาดใดๆ — สกินทุกชิ้นจะปรากฏในเกมภายใต้คีย์ดิบของมัน นี่คือสาเหตุที่พบบ่อยที่สุดที่ทำให้แพ็กที่ประกอบด้วยมือดูเหมือนเสียในขณะที่ตรวจสอบแล้วว่าถูกต้อง

คีย์จะตัดเครื่องหมายวรรคตอนออก และรายการที่ซ้ำกันจะยุบรวมกัน

คีย์ต้องเป็นตัวอักษรและตัวเลขเท่านั้น ส่วนที่เหลือจะถูกลบออก:

ชื่อของคุณคีย์
My Skin!MySkin
My Skin?MySkin
Skin #2Skin2
!!!Skin1 (สำรอง, ตามตำแหน่ง)

สองแถวแรกคือกับดัก สกินสองชิ้นที่มนุษย์ตั้งชื่อต่างกันจะกลายเป็น คีย์เดียว และคีย์ที่ซ้ำกันจะไม่เกิดข้อผิดพลาด — มันจะยุบรวมเป็นสกินเดียวในเกมโดยไม่มีการแจ้งเตือน คุณอัปโหลดสิบสองสกิน ได้สิบเอ็ดสกิน และไม่มีอะไรบอกคุณว่าสกินไหนหายไป

โปรแกรมสร้างในที่นี้จะป้องกันปัญหานั้นโดยการเพิ่มตัวนับต่อท้ายคีย์ที่เคยใช้ไปแล้ว ดังนั้น MySkin ตัวที่สองจึงกลายเป็น MySkin1 สิ่งนี้มีประโยชน์หากคุณประกอบแพ็กด้วยมือ: การตรวจสอบที่คุณต้องการคือชื่อที่ ถูกตัดออก ไม่ใช่ชื่อที่คุณพิมพ์

ชื่อที่เป็นเครื่องหมายวรรคตอนทั้งหมดจะไม่มีอะไรเหลือเลย ดังนั้นมันจะกลับไปใช้ Skin บวกกับตำแหน่งในรายการ

สกินแบบ Slim ต้องการสตริงเรขาคณิตที่ถูกต้อง

แต่ละรายการจะระบุโมเดล และมีสองแบบ:

  • geometry.humanoid.custom — แบบคลาสสิก, แขน 4 พิกเซล
  • geometry.humanoid.customSlim — แบบ Slim, แขน 3 พิกเซล

การตั้งค่าผิดพลาดนี้เป็นสาเหตุปกติที่ทำให้ สกินที่มีสัดส่วนแบบ Alex ปรากฏขึ้นพร้อมกับแขนที่ดูเป็นบล็อกของ Steve พื้นผิวถูกต้อง; โมเดลที่ถูกเรียกใช้ก็ถูกต้อง โปรแกรมสร้างแพ็กจะอนุมานโดยการสุ่มตัวอย่างคอลัมน์แขนที่สี่ แต่ skins.json ที่เขียนด้วยมือจะต้องระบุอย่างชัดเจน และสตริงทั้งสองจะแตกต่างกันสี่ตัวอักษรที่ส่วนท้าย

รายการยังคงมี "type": "free" และผ้าคลุมเป็นไฟล์ PNG เสริมที่ไม่บังคับซึ่งอ้างอิงจากรายการเดียวกัน — ผ้าคลุมจะเดินทางไปพร้อมกับสกินแพ็กแทนที่จะเป็นการดาวน์โหลดแยกต่างหาก

ตัวสร้างชุดสกิน →

More guides

Browse all →

กำลังหาเครื่องมือ Minecraft อื่นอยู่ไหม

ชุดเครื่องมือสร้าง ดู และแปลงไฟล์ที่ทำงานในเบราว์เซอร์ ฟรีทั้งหมด