Guides / Building & Resources

Ein Kartenpixel ist ein Byte, und zwei seiner Bits sind Helligkeit

61 Grundfarben × 4 Schattierungen = 244 Farben aus einem 16.384 Byte großen Array. Nur eine der vier Schattierungen ist die echte Farbe des Blocks; die anderen drei sind auf 86 %, 71 % und 53 % abgedunkelt.

Jede gefüllte Karte in Minecraft hat auf der Festplatte die gleiche Größe: ein colors Byte großes Array mit genau 16.384 Einträgen, was 128 × 128 entspricht. Das gilt für eine Karte der Größe 0, die 128 Blöcke abdeckt, und eine Karte der Größe 4, die 2.048 Blöcke abdeckt – die Pixelanzahl ändert sich nie. Alles andere bei der Kartenkunst folgt aus dieser einen Tatsache.

Das Byte teilt sich in zwei

Jedes dieser 16.384 Bytes ist keine Farbe. Es ist eine Grundfarbe und eine Schattierung zusammengepackt:

baseColorId = colorId >> 2      // 0–63
shadeIndex  = colorId & 3       // 0–3

Die unteren zwei Bits sind also die Helligkeit und der Rest ist, welchen Block man betrachtet. Mit 61 definierten Grundfarben (ID 0 ist der transparente/unerforschte Slot) ist das höchste Byte, das eine echte Karte enthält, 61 × 4 + 3 = 247.

61 × 4 = 244 verschiedene Farben, was die gesamte Palette ist, die für die Kartenkunst verfügbar ist. Nicht 61 und nicht 256.

Nur eine Schattierung ist die tatsächliche Farbe des Blocks

Die vier Multiplikatoren sind nicht gleichmäßig verteilt, und einer davon ist 1,0:

SchattierungsindexMultiplikatorin Prozent
0180 / 25570,6 %
1220 / 25586,3 %
2255 / 255100 %
3135 / 25552,9 %

Schattierung 2 ist die Texturfarbe des Blocks, unberührt. Die anderen drei sind dunklere Versionen davon, und die dunkelste – Schattierung 3 – ist nur etwas mehr als halb so hell.

Deshalb sieht Kartenkunst mit Treppen so anders aus als eine flache. Ein flacher Bau kann pro Block immer nur eine dieser vier Schattierungen erzeugen, sodass eine flache Karte 61 Farben zur Verfügung hat. Das Variieren der Höhe schaltet die anderen drei Schattierungen jedes Blocks frei und bringt dich auf 244. Die Palette wird nicht breiter – du bekommst keine neuen Farbtöne – sie wird viermal tiefer im Wert, was genau das ist, was Dithering benötigt.

Beachte auch, dass die Reihenfolge der Schattierungen nicht monoton ist: Index 3 ist der dunkelste, nicht der hellste. Wenn man nach Index sortiert und einen Farbverlauf erwartet, erhält man 71 %, 86 %, 100 %, 53 %.

Größe multipliziert Fläche, niemals Auflösung

Das scale Feld läuft 0–4, und der Bereich, den es abdeckt, ist 128 × 2^scale Blöcke pro Seite:

Größeabgedeckte Blöckeein Kartenpixel ist
0128 × 1281 Block
1256 × 2562 × 2 Blöcke
2512 × 5124 × 4 Blöcke
31.024 × 1.0248 × 8 Blöcke
42.048 × 2.04816 × 16 Blöcke — genau ein Chunk

Eine Karte der Größe 4 deckt 256 Mal die Fläche einer Karte der Größe 0 ab, wobei dieselben 16.384 Bytes verwendet werden. Das ist der Hauptgrund, warum Kartenkunst in Größe 0 gebaut werden muss: Bei jeder anderen Zoomstufe ist ein Pixel ein Durchschnitt aus mehreren Blöcken, und das sorgfältig platzierte Bild wird neu abgetastet.

Die Zeile für Größe 4 ist aus einem anderen Grund erwähnenswert – ein Pixel ist genau ein Chunk, was eine vollständig gezoomte Karte zu einem brauchbaren Chunk-Raster macht.

Was das für eine beschädigte Datei bedeutet

Wenn ein map_<id>.dat ein colors Array hat, das nicht 16.384 Bytes groß ist, ist es keine Karte mit fehlenden Pixeln – es ist überhaupt keine lesbare Karte. Es gibt keine Form mit teilweiser Länge. Das Array ist immer voll groß, wobei unerforschte Bereiche als Farb-ID 0 gespeichert werden, anstatt weggelassen zu werden.

Kartenbild-Extraktor →

More guides

Browse all →

Suchst du weitere Minecraft-Werkzeuge?

Eine Sammlung von Generatoren, Betrachtern und Konvertern direkt im Browser — alle kostenlos.