Guides / Building & Resources

اللوحات والأقراص المخصصة تتطلب حزمتين، وتثبيت إحداهما هو سبب الفشل المعتاد

حزمة البيانات تسجل المحتوى؛ وحزمة الموارد توفر المظهر والصوت. حزمة البيانات وحدها تسجل المحتوى دون أن يظهر شيء. بالإضافة إلى حد 4×4 ولماذا مدة القرص ليست مجرد أمر شكلي.

تُعد اللوحات (Paintings) وأقراص الموسيقى (music discs) سجلات حقيقية في Java الحديثة، مما يعني أنه يمكنك إضافتها بدلاً من استبدال تلك الموجودة في اللعبة الأصلية. لا شيء تضيفه يحل محل لوحة أو قرص موجود.

المشكلة هي أن المحتوى مقسم بين نوعين مختلفين من الحزم، وكل منهما عديم الفائدة بمفرده.

أين يذهب كل شيء

حزمة البيانات تسجل العنصر:

data/<ns>/painting_variant/<id>.json    asset_id, width, height, title, author
data/<ns>/jukebox_song/<id>.json        sound_event, description, length, comparator

حزمة الموارد توفر ما تراه وتسمعه:

assets/<ns>/textures/painting/<id>.png
assets/<ns>/sounds/<id>.ogg
assets/<ns>/sounds.json

إذا قمت بتثبيت حزمة البيانات فقط، فسيتم تسجيل المحتوى بنجاح — إنه موجود، /give يجده، ولكن ببساطة لا يوجد مظهر ولا صوت. هذه نتيجة أكثر إرباكًا من الفشل الصريح، وهي السبب المعتاد لـ "عدم عمل" لوحة مخصصة. الأداة الموجودة في هذه الصفحة تشحن كلتا الحزمتين في ملف مضغوط واحد خصيصًا لضمان عدم فصلهما.

لاحظ ملفي pack.mcmeta. إنهما حزمتان منفصلتان بهويات منفصلة؛ لا يوجد تنسيق مدمج يجمع بينهما.

معرفات السجل أكثر صرامة من أسماء الملفات

قد يحتوي المعرف على a-z و 0-9 و _ و . و - فقط. أي شيء آخر يؤدي إلى فشل تحميل الحزمة — ليس فقط الإدخال المعطّل، بل الحزمة بأكملها. الأحرف الكبيرة والمسافات هما أكثر ما يوقع الناس في الخطأ، لأن كلاهما عادي تمامًا في اسم الملف الذي قمت بسحبه.

اللوحات: من 1×1 إلى 4×4

تتراوح أحجام اللوحات الأصلية من 1 × 1 إلى 4 × 4 كتل، مما يوفر ستة عشر شكلاً محتملاً. سيتم عرض أي متغير خارج هذا النطاق — لا ترفضه اللعبة — ولكنه لا يمكن تعليقه على جدار بالحجم الذي يتوقعه اللاعبون، لذلك لا يمكن وضعه فعليًا في بناء عادي.

يتم الإعلان عن الحجم في ملف JSON كـ width و height، بالكتل. لا يتم استنتاجه من ملف PNG، لذا فإن لوحة بحجم 3 × 1 يكون مظهرها مربعًا هي ملف صالح يعرض بشكل ممدود.

مدة القرص ليست مجرد تسمية

length_in_seconds يتحكم في أمرين: توقيت صندوق الموسيقى (jukebox timing)، ومنحدر المقارن (comparator ramp) — الإشارة التي يقرأها المقارن من صندوق موسيقى قيد التشغيل ترتفع عبر المدة المعلنة للمسار.

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

تُكتب المسارات أيضًا باستخدام "stream": true في sounds.json. الموسيقى طويلة، وتحميل مسار كامل في الذاكرة قبل تشغيله يسبب تقطعًا — البث هو الخيار الافتراضي الصحيح لأي شيء بطول القرص، والخيار الخاطئ لتأثير صوتي قصير.

إضافة لوحات وأسطوانات مخصصة →

More guides

Browse all →

تبحث عن أدوات ماينكرافت أخرى؟

مجموعة من المولّدات والعارضات والمحوّلات تعمل في المتصفح — كلها مجانية.