MC Toolkit

أدلة / استكشاف الأخطاء وإصلاحها

pack.mcmeta: أرقام pack_format وتحذير \"غير متوافق\"

حقل واحد خاطئ يجعل Minecraft يظهر حزمتك باللون الرمادي. إليك الشكل الذي يتطلبه الإصدار 26.x، وكيفية دعم الإصدارات القديمة والجديدة في ملف واحد، وأين يجب أن يوضع الملف.

تقريبًا كل رسالة "حزمتي تظهر كغير متوافقة" سببها حقل واحد في ملف صغير واحد.

الملف

{
  "pack": {
    "min_format": 97,
    "max_format": 97,
    "description": "My pack"
  }
}

هذا حزمة موارد لإصدار 26.3؛ أما حزمة بيانات 26.3 فتستخدم 121. منذ 1.21.9، أي صيغة تتجاوز 64 (للموارد) أو 81 (للبيانات) يجب الإعلان عنها باستخدام min_format وmax_format. أما الحزمة التي لا تزال تكتب "pack_format": 97 مجردًا — وهو ما تعرضه معظم الشروحات ومعظم المولّدات حتى الآن — فتُرفض وتظهر كغير متوافقة.

يجب أن يكون اسمه بالضبط pack.mcmeta وأن يقع في جذر ملف zip — بجانب assets/ أو data/، وليس داخل مجلد داخل ملف zip. ضغط المجلد الحاوي بدلًا من محتوياته هو ثاني أكثر الأخطاء شيوعًا، ويبدو مطابقًا تمامًا لرقم صيغة خاطئ.

حزم الموارد وحزم البيانات تستخدمان أرقامًا مختلفة

هذا هو الجزء الذي يوقع الناس في الخطأ: العدّادان افترقا منذ سنوات وليسا قابلين للتبادل. حزمة بيانات تستخدم رقم حزمة موارد تظهر باللون الرمادي حتى لو كان الرقم "حاليًا".

بدلًا من حفظ جدول يصبح قديمًا مع كل إصدار، اقرأ الرقم من حزمة vanilla للإصدار الذي تستهدفه — أو دع مولّدًا يملأه لك.

ملف واحد للإصدارات القديمة والجديدة

تثبيت رقم واحد يعني أن الحزمة تتعطل مع الإصدار التالي. أما النطاق فلا — لكن النطاق الذي يمتد إلى 26.x يجب أن يُكتب لجيلين من اللعبة في آن واحد:

{
  "pack": {
    "pack_format": 46,
    "supported_formats": { "min_inclusive": 46, "max_inclusive": 64 },
    "min_format": 46,
    "max_format": 97,
    "description": "My pack"
  }
}

min_format/max_format هو النطاق الذي يقرأه 26.x. أما pack_format وsupported_formats فهما موجودان فقط للعملاء الأقدم من 1.21.9: يجب أن ينتهي supported_formats عند 64 بالضبط (81 لحزمة بيانات)، ويجب أن يساوي min_format طرفه الأدنى، ويجب أن يقع pack_format داخله. النصيحة القديمة — supported_formats حتى رقم كبير مثل 99 — هي الآن الشكل الوحيد الذي يرفضه 26.x رفضًا قاطعًا. بالنسبة لحزمة تضيف فقط textures أو recipes — وهي معظم الحزم — فالنطاق الواسع صادق، لأنه لا شيء فيها ينكسر فعليًا بين الإصدارات.

الوصف يقبل مكوّنات النص

"description": [
  { "text": "My pack ", "color": "gold" },
  { "text": "v2", "color": "gray", "italic": true }
]

رموز علامة القسم (§6) لا تزال تعمل أيضًا، لكن صيغة JSON تنجو من النسخ واللصق عبر الأدوات التي تجرّد محارف التحكم.

Overlays، لدعم عدة إصدارات في آن واحد

"overlays": { "entries": [
  { "formats": { "min_inclusive": 42, "max_inclusive": 45 }, "directory": "older" }
] }

يُستخدم مجلد older/ في جذر الحزمة فقط على تلك الصيغ. هكذا يدعم تنزيل واحد إصدارين بصيغ models مختلفة، بدلًا من شحن ملفي zip.

تشخيص سريع

العَرَضالسبب
باللون الرمادي، "made for an older/newer version"رقم صيغة خاطئ، أو (1.21.9 وما بعده) لا يوجد min_format/max_format
الحزمة غير مدرجة إطلاقًاpack.mcmeta ليس في جذر ملف zip، أو JSON غير صالح
تُحمَّل، لكن textures مفقودةصيغة الحزمة سليمة؛ مسارات texture خاطئة
تعمل في اللعب الفردي، لا على خادمحزمة البيانات في مجلد عالم خاطئ

الفاصلة الزائدة تجعل JSON غير صالح وتُنتج حالة "غير مدرجة إطلاقًا"، وليس رسالة خطأ.

ولّد ملفًا صالحًا لنوع حزمتك وإصدارك المستهدف — مع min_format/max_format، والحقول القديمة حيث يحتاجها إصدار أقدم — باستخدام مولّد pack.mcmeta.

مولّد pack.mcmeta →

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

عرض الكل →