MC Toolkit

أدلة / الأوامر والبيانات

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

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

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

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

الامتدادالصيغة
.nbtهيكل الفانيلا
.schemSponge
.schematicSponge — افتراضيًا
.litematicLitematica
.mcstructureBedrock

الصف المشكِل هو .schematic. هذا الامتداد يتشاركه MCEdit الكلاسيكي وصيغة Sponge، والملفات يُعاد تسميتها من أشخاص لا يعرفون أو لا يهتمون.

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

الحل هو استنشاق جذر NBT والسماح لما يكون عليه الملف بالفوز على ما يُسمى به:

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

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

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

فانيلا .nbt — قائمة. مدخل واحد لكل موضع محفوظ، كل منها يسمّي فهرس لوحة. الهواء يُخزَّن مثل أي كتلة أخرى؛ فقط فراغ الهيكل يُستبعد، لذا البناء المجوّف يكون رخيصًا فقط إذا تم تفريغ داخله قبل الحفظ.

Sponge .schem — تيار varint. فهارس اللوحة معبأة كأعداد صحيحة متغيرة العرض: سبع بتات من الحمولة لكل بايت، والبت العالي مضبوط للاستمرار. اللوحات الصغيرة تكلف بايتًا واحدًا لكل كتلة؛ لوحة تتجاوز 127 مدخلًا تبدأ تكلف بايتين للفهارس العالية. كثيف، لكنه يصف نفسه.

MCEdit .schematic — مصفوفة بايتات مسطحة. بايت واحد لكل كتلة، لذا 256 نوع كتلة كحد أقصى — وهذا بالضبط سبب امتلاكه لمصفوفة جانبية اختيارية AddBlocks تضيف أربع بتات معرّف أخرى ك nibble لكل كتلة، فتصل المعرّفات إلى 4,095. هذه صيغة معرّفات رقمية قديمة من قبل حالات الكتل: معرّفاتها أرقام، تُحل عبر مركّب SchematicaMapping عندما كتبت Schematica واحدًا، وعبر جدول معرّفات فانيلا 1.12 فيما عدا ذلك.

Litematica .litematic — longs معبأة بتّيًا. الفهارس تُعبَّأ عند max(2, bits needed for the palette) بتة بالضبط لكل منها، LSB أولًا، وقد يمتد المدخل عبر الحدود بين اثنين من longs. لوحة من 5 مدخلات تستخدم 3 بتات لكل كتلة؛ ولوحة من 300 مدخل تستخدم 9.

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

Bedrock صغير النهاية

.mcstructure هو الشاذ على مستوى أدنى: Bedrock يكتب NBT صغير النهاية حيث كل صيغة Java تكتب كبير النهاية. هذا يُقرَّر قبل حدوث أي تحليل للصيغة — اقرأ البايتات بنهاية خاطئة ولن تحصل على هيكل خاطئ، بل على بيانات تالفة تفشل في التحليل تمامًا.

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

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

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

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

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

عرض الكل →