Guides / Commands & Data

الامتداد لا يخبرك بصيغة المخطط — 31 من أصل 33 ملفًا بصيغة ‎.schematic كانت تخمينًا لشيء آخر

خمس صيغ، وأربع طرق مختلفة لتعبئة الكتل، وامتداد ‎.schematic مشترك بين اثنتين منها. فحص جذر NBT أفضل من الثقة باسم الملف، وهذا مثبت بالأدلة.

توجد خمس صيغ للمخططات متداولة، واسم الملف هو مجرد تلميح وليس حقيقة. يعتمد العارض هنا على محتوى الملف لتحديد نوعه، وهذا له سبب وجيه ومقاس.

خمس صيغ، خمس امتدادات

الامتدادالصيغة
.nbtبنية فانيلا
.schemإسفنج
.schematicإسفنج — افتراضيًا
.litematicلايتيماتيكا
.mcstructureصخر القاع

الصف الذي يمثل المشكلة هو .schematic. هذا الامتداد مشترك بين صيغة MCEdit الكلاسيكية وصيغة الإسفنج، ويتم إعادة تسمية الملفات من قبل أشخاص لا يعرفون أو لا يهتمون.

بالعد على مجموعة حقيقية من الملفات: من أصل 33 ملفًا بصيغة .schematic، كان 31 منها MCEdit، وواحد بنية فانيلا، وواحد لايتيماتيكا. لذا، فإن التخمين الافتراضي للامتداد خاطئ في معظم الحالات تقريبًا، وملفان لم يكونا .schematic بأي معنى — بل كانا مجرد خطأ في التسمية.

الحل هو فحص جذر NBT والسماح لما هو عليه الملف بالتغلب على ما يسمى به:

  • مفتاح Regions ← لايتيماتيكا
  • palette و blocks ← بنية فانيلا
  • وإلا، اختبار شكل MCEdit، ثم العودة إلى الامتداد

أربع طرق لتعبئة نفس الكتل

لا تختلف الصيغ من الناحية الجمالية. كل منها يخزن بيانات الكتل بطريقة مختلفة تمامًا، وكل خيار له تبعات:

فانيلا .nbt — قائمة متفرقة. إدخال واحد لكل كتلة موضوعة، كل منها يشير إلى فهرس لوحة. الهواء ببساطة غير موجود، لذا فإن البناء المجوف غير مكلف.

إسفنج .schem — تدفق متغير الطول (varint stream). فهارس اللوحة معبأة كأعداد صحيحة متغيرة العرض: سبع بتات من الحمولة لكل بايت، مع تعيين البت الأعلى للمتابعة. اللوحات الصغيرة تكلف بايتًا واحدًا لكل كتلة؛ اللوحة التي تحتوي على أكثر من 127 إدخالًا تبدأ في تكلفة بايتين للفهارس العالية. كثيفة، ولكنها ذاتية الوصف.

MCEdit .schematic — مصفوفة بايت مسطحة. بايت واحد لكل كتلة، لذا 256 نوعًا من الكتل كحد أقصى — وهذا هو بالضبط سبب حاجتها إلى مصفوفة جانبية AddBlocks تقوم بتعبئة بت تاسع كـ "نصف بايت" (nibble) لكل كتلة. هذه صيغة معرفات رقمية قديمة من قبل حالات الكتل، ويتم حل معرفاتها من خلال مركب SchematicaMapping بدلاً من أن تكون أسماء.

لايتيماتيكا .litematic — أرقام طويلة معبأة بالبتات (bit-packed longs). يتم تعبئة الفهارس بدقة max(2, bits needed for the palette) بت لكل منها، مع البت الأقل أهمية أولاً، وقد يمتد الإدخال عبر الحدود بين رقمين طويلين. لوحة من 5 إدخالات تستخدم 3 بتات لكل كتلة؛ لوحة من 300 إدخال تستخدم 9.

الحد الأدنى وهو 2 بت مهم: حتى لوحة من كتلتين لا تضغط أقل من 2 بت لكل إدخال، لذا فإن البناء أحادي اللون ليس صغيرًا كما توحي الرياضيات.

صخر القاع هو "صغير النهاية" (little-endian)

.mcstructure هو الاستثناء على مستوى أدنى: صخر القاع يكتب NBT صغير النهاية بينما تكتب جميع صيغ جافا "كبير النهاية" (big-endian). يتم تحديد ذلك قبل حدوث أي تحليل للصيغة — إذا قرأت البايتات بترتيب بايتات خاطئ، فلن تحصل على بنية خاطئة، بل ستحصل على بيانات مهملة تفشل في التحليل تمامًا.

ماذا يعني هذا عمليًا

إذا لم يفتح مخطط في مكان ما، فإن السؤال الأول ليس "هل الملف تالف" بل "هل هذا الملف هو ما يقوله اسمه". من المرجح أن يكون ملف .schematic من صفحة تنزيل MCEdit أكثر من كونه إسفنج، والأداة التي تثق بالامتداد سترفض ملفًا جيدًا تمامًا.

وعند مقارنة تصديرين لنفس البناء، فإن اختلافات الحجم تتعلق في الغالب بـ الترميز وليس المحتوى — فبنية فانيلا .nbt متفرقة لبناء مجوف وبنية .litematic معبأة بالبتات لنفس الشيء تحل مشكلات مختلفة.

عارض المخططات ثلاثي الأبعاد →

More guides

Browse all →

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

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