Panduan / Bangunan & Sumber Daya
Satu piksel peta adalah satu byte, dan dua bitnya adalah kecerahan
61 warna dasar × 4 corak = 244 warna dari larik 16.384 byte. Hanya satu dari empat corak yang merupakan nilai penuh warna tersebut; tiga lainnya digelapkan menjadi 86%, 71%, dan 53%.
Setiap peta terisi di Minecraft berukuran sama di disk: larik byte colors berisi tepat 16.384 entri, yaitu 128 × 128. Hal ini berlaku baik untuk peta skala 0 yang mencakup 128 blok maupun peta skala 4 yang mencakup 2.048 blok — jumlah pikselnya tidak pernah berubah. Segala hal lain tentang seni peta mengikuti satu fakta tersebut.
Byte terbagi menjadi dua
Masing-masing dari 16.384 byte itu bukanlah sebuah warna. Byte itu adalah warna dasar dan corak yang dikemas menjadi satu:
baseColorId = colorId >> 2 // 0–63
shadeIndex = colorId & 3 // 0–3
Jadi dua bit terendah adalah kecerahan dan sisanya adalah blok yang sedang Anda lihat. Dengan 61 warna dasar yang terdefinisi (id 0 adalah slot transparan/belum dijelajahi), byte tertinggi yang dapat dimuat peta sungguhan adalah 61 × 4 + 3 = 247.
61 × 4 = 244 warna berbeda, yang merupakan seluruh palet yang tersedia untuk seni peta. Bukan 61, dan bukan 256.
Hanya satu corak yang merupakan nilai penuh warna tersebut
Keempat pengali itu tidak berjarak merata, dan salah satunya adalah 1,0:
| indeks corak | pengali | sebagai persentase |
|---|---|---|
| 0 | 180 / 255 | 70,6% |
| 1 | 220 / 255 | 86,3% |
| 2 | 255 / 255 | 100% |
| 3 | 135 / 255 | 52,9% |
Corak 2 adalah RGB milik warna peta itu sendiri, tanpa penskalaan — nilai tetap per id warna, bukan hasil pengambilan dari tekstur blok. Tiga corak lainnya adalah versi yang lebih gelap darinya, dan yang paling gelap — corak 3 — kecerahannya hanya sedikit di atas setengah.
Inilah sebabnya seni peta bertingkat terlihat sangat berbeda dari yang datar. Bangunan datar hanya menghasilkan corak normal (86%), sehingga peta datar hanya memiliki 61 warna yang tersedia. Memvariasikan ketinggian membuka corak yang lebih terang dan lebih gelap dari setiap blok dan membawa Anda ke 183. Paletnya tidak menjadi lebih luas — Anda tidak mendapatkan hue baru — paletnya menjadi tiga kali lebih dalam dalam hal nilai, yang justru dibutuhkan oleh dithering. Corak keempat (53%) sama sekali tidak pernah dihasilkan dari blok: corak itu ada dalam format byte, dan hanya file peta yang telah diedit yang menggunakannya.
Perhatikan juga bahwa urutan corak tidak monoton: indeks 3 adalah yang paling gelap, bukan yang paling terang. Mengurutkan berdasarkan indeks dan mengharapkan gradien akan memberi Anda 71%, 86%, 100%, 53%.
Skala mengalikan luas, tidak pernah resolusi
Bidang scale berkisar 0–4, dan tanah yang dicakupnya adalah 128 × 2^scale blok per sisi:
| skala | blok yang dicakup | satu piksel peta adalah |
|---|---|---|
| 0 | 128 × 128 | 1 blok |
| 1 | 256 × 256 | 2 × 2 blok |
| 2 | 512 × 512 | 4 × 4 blok |
| 3 | 1.024 × 1.024 | 8 × 8 blok |
| 4 | 2.048 × 2.048 | 16 × 16 blok — tepat satu chunk |
Peta skala 4 mencakup 256 kali luas peta skala 0 dengan menggunakan 16.384 byte yang sama. Itulah alasan utama seni peta harus dibangun pada skala 0: pada perbesaran lain, satu piksel adalah rata-rata dari beberapa blok dan gambar yang Anda susun dengan hati-hati akan di-resample hingga hilang.
Baris skala 4 patut diingat karena alasan lain — satu pikselnya tepat satu chunk, yang membuat peta yang diperbesar sepenuhnya menjadi kisi chunk yang berguna.
Artinya bagi file yang rusak
Jika file peta (data/minecraft/maps/<id>.dat di folder dunia) memiliki larik colors yang bukan 16.384 byte, itu bukanlah peta dengan piksel yang hilang: game tetap memuat peta tersebut tetapi membuang pikselnya dan menampilkannya kosong. Tidak ada bentuk dengan panjang sebagian. Lariknya selalu berukuran penuh, dengan area yang belum dijelajahi disimpan sebagai id warna 0 alih-alih dihilangkan.