یک پیکسل نقشه یک بایت است و دو بیت آن مربوط به روشنایی است
61 رنگ پایه × 4 سایه = 244 رنگ از یک آرایه 16,384 بایتی. فقط یکی از چهار سایه رنگ واقعی بلوک است؛ سه تای دیگر به 86%، 71% و 53% تیره شدهاند.
هر نقشه پرشده در Minecraft روی دیسک اندازه یکسانی دارد: یک colors byte array of exactly 16,384 ورودی، که 128 × 128 است. این برای نقشه scale-0 با پوشش 128 بلوک و نقشه scale-4 با پوشش 2,048 بلوک صادق است — تعداد پیکسلها هرگز تغییر نمیکند. تمام موارد دیگر درباره map art از همین یک حقیقت پیروی میکند.
بایت به دو بخش تقسیم میشود
هر یک از آن 16,384 بایت یک رنگ نیست، بلکه یک رنگ پایه و یک سایه است که با هم ترکیب شدهاند:
baseColorId = colorId >> 2 // 0–63
shadeIndex = colorId & 3 // 0–3
بنابراین دو بیت پایین روشنایی هستند و بقیه مشخص میکنند به کدام بلوک نگاه میکنید. با 61 رنگ پایه تعریفشده (id 0 اسلات شفاف/کشفنشده است)، بالاترین بایتی که یک نقشه واقعی نگه میدارد 61 × 4 + 3 = 247.
61 × 4 = 244 رنگ متمایز، که کل پالت موجود برای map art است. نه 61 و نه 256.
فقط یک سایه رنگ واقعی بلوک است
چهار ضریب فاصلههای یکسانی ندارند و یکی از آنها 1.0 است:
| شاخص سایه | ضریب | به صورت درصد |
|---|---|---|
| 0 | 180 / 255 | 70.6% |
| 1 | 220 / 255 | 86.3% |
| 2 | 255 / 255 | 100% |
| 3 | 135 / 255 | 52.9% |
سایه 2 رنگ بافت دستنخورده بلوک است. سه مورد دیگر نسخههای تیرهتر آن هستند، و تیرهترین آنها — سایه 3 — فقط کمی بیشتر از نصف روشنایی دارد.
به همین دلیل است که map art پلکانی با تخت بسیار متفاوت به نظر میرسد. یک ساختار تخت فقط میتواند یکی از این چهار حالت را برای هر بلوک تولید کند، بنابراین یک نقشه تخت 61 رنگ در دسترس دارد. تغییر ارتفاع، سه سایه دیگر هر بلوک را باز میکند و شما را به 244 میرساند. پالت گستردهتر نمیشود — هیچ فام رنگی جدیدی دریافت نمیکنید — بلکه عمق مقدار آن چهار برابر میشود، که دقیقاً همان چیزی است که dithering نیاز دارد.
همچنین توجه داشته باشید که ترتیب سایهها یکنواخت نیست: شاخص 3 تیرهترین است، نه روشنترین. مرتبسازی بر اساس شاخص با انتظار یک گرادیان، به شما 71%، 86%، 100%، 53% میدهد.
مقیاس، مساحت را چند برابر میکند، نه وضوح را
این scale field runs 0–4، و زمینی که پوشش میدهد 128 × 2^scale blocks on a side:
| مقیاس | بلوکهای پوششدادهشده | هر پیکسل نقشه معادل است با |
|---|---|---|
| 0 | 128 × 128 | 1 بلوک |
| 1 | 256 × 256 | 2 × 2 بلوک |
| 2 | 512 × 512 | 4 × 4 بلوک |
| 3 | 1,024 × 1,024 | 8 × 8 بلوک |
| 4 | 2,048 × 2,048 | 16 × 16 بلوک — دقیقاً یک چانک |
یک نقشه scale-4 پوشش میدهد 256 برابر مساحت یک نقشه scale-0 با استفاده از همان 16,384 بایت. این تمام دلیلی است که map art باید در scale 0 ساخته شود: در هر بزرگنمایی دیگر، یک پیکسل میانگینی از چندین بلوک است و تصویری که با دقت چیدهاید با نمونهبرداری مجدد از بین میرود.
ردیف scale-4 به دلیل دیگری ارزش به خاطر سپردن دارد — یک پیکسل دقیقاً یک چانک است، که باعث میشود یک نقشه با حداکثر زوم به یک شبکه چانک قابل استفاده تبدیل شود.
معنای این برای یک فایل خراب
اگر یک map_<id>.dat has a colors array that is not 16,384 bytes, it is not a map with missing pixels — it is not a readable map at all. There is no partial-length form. The array is always full-size, with unexplored areas stored as colour id 0 rather than omitted.