MC Toolkit

أدلة / البناء والموارد

حزمة سكنات Bedrock هي أربعة ملفات، واثنان من أنماط فشلها صامتان

معرّفان UUID يجب أن يختلفا، وملف lang ليس اختياريًا، ومفاتيح السكنات تُجرّد علامات الترقيم — لذا يصبح '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 جديدة لهذا السبب تحديدًا، ولهذا أيضًا فإن إعادة استيراد حزمة معدّلة تحتاج تنزيلًا جديدًا بدلًا من إعادة ضغط الحزمة القديمة.

ملف lang ليس اختياريًا

لا يحتوي skins.json أبدًا على اسم عرض. إنه يحتوي على مفتاح، ويقوم texts/en_US.lang بربط ذلك المفتاح بنص:

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

إذا شحنت الحزمة بدون ملف lang فلن يحدث أي خطأ — كل سكن يظهر ببساطة في اللعبة تحت مفتاحه الخام. وهذا هو السبب الأكثر شيوعًا لظهور حزمة مجمّعة يدويًا وكأنها معطوبة بينما تجتاز التحقق بلا مشاكل.

المفاتيح تُجرّد علامات الترقيم، والتكرارات تنطوي

يجب أن يكون المفتاح أبجديًا رقميًا. وكل ما عدا ذلك يُزال:

اسمكالمفتاح
My Skin!MySkin
My Skin?MySkin
Skin #2Skin2
!!!Skin1 (احتياطي، حسب الموضع)

الصفان الأولان هما الفخ. سكنان مختلفان تمامًا بالنسبة للإنسان يصبحان مفتاحًا واحدًا، والمفتاح المكرر لا يسبب خطأ — بل ينطوي بصمت إلى سكن واحد في اللعبة. ترفع اثني عشر سكنًا، فتحصل على أحد عشر، ولا شيء يخبرك أيها اختفى.

المُنشئ هنا يحمي من ذلك بإضافة عدّاد إلى أي مفتاح استُخدم من قبل، فيصبح MySkin الثاني MySkin2. وهذا أمر يستحق المعرفة إذا جمّعت حزمة يدويًا: الفحص الذي تحتاجه هو على الأسماء المجرّدة، لا على الأسماء التي كتبتها.

أما الاسم المكوّن كله من علامات ترقيم فلا يترك شيئًا على الإطلاق، فيرجع إلى Skin مضافًا إليه موضعه في القائمة.

النحيف يحتاج سلسلة الهندسة الصحيحة

كل مدخل يسمّي نموذجًا، وهناك اثنان:

  • geometry.humanoid.custom — الكلاسيكي، أذرع بأربع بكسلات
  • geometry.humanoid.customSlim — النحيف، أذرع بثلاث بكسلات

الخطأ في هذا هو السبب المعتاد لـظهور سكن بنسب أليكس بأذرع ستيف المكعبة. النسيج سليم؛ النموذج هو المطلوب خطأً. يخمّنه مُنشئ الحزمة من العمودين اللذين يتركهما الذراع النحيف فارغين (x 54–55) ويتيح لك تصحيحه لكل مدخل، لكن skins.json المكتوب يدويًا يجب أن يصرّح به، والسلسلتان تختلفان بأربعة أحرف في النهاية.

تحمل المدخلات أيضًا "type": "free"، والوشاح ملف PNG إضافي اختياري يُشار إليه من المدخل نفسه — فالوشاح يسافر داخل حزمة السكنات بدلًا من أن يكون تنزيلًا منفصلًا.

صانع حزم الجلود →

المزيد من الأدلة

عرض الكل →