Minecraft Wiki
Advertisement

Vorlage:About

Das Anvil[1] Dateiformat wurde mit der Vollversion 1.2 (12w07a) veröffentlicht. Es enthält viele Änderungen und Verbesserungen gegenüber dem vorherigen Dateiformat Region.

Änderungen gegenüber Region

Anvil Conversion

Konvertieren einer Welt von Region Format zu Anvil.

Die einzigen Änderungen von Region zu Anvil waren im Chunk Format - das Region Format wird immer noch genutzt, wird aber jetzt Anvil genannt. Anvil führt diese Änderungen ein:

  • Maximale Bauhöhe wurde auf 256 angehoben (von 128).
  • Leere Chunks (komplett mit Luft gefüllt) werden nicht gespeichert oder geladen.
  • Die maximalen BlockIDs wurden auf 4096 erhöht (von 256), durch das Hinzufügen eines 4 Bit Datenlayers, allerdings ist der Rest des Codes von Minecraft noch nicht darauf vorbereitet. Die Forge API ermöglicht dies jedoch für Modder.
  • Die Anordnung der Blöcke wurde vom Format XZY zu YZX geändert um die Kompression zu verbessern.
  • Die Pakete zum Senden von Chunks wurden deutlich verkleinert (ein 256 Blöcke hoher, voller Chunk ist kleiner als im alten Format, und einer, der zusätzlich noch leeren Platz enthält, ist noch viel kleiner).
  • Biome werden per X,Z Position gespeichert und sie können somit mit Tools leicht verändert werden.

Weitere Informationen

Seit Vollversion 1.2 (12w07a) werden Welten automatisch in das neue Format konvertiert, dabei wird allerding eine Kopie der Weltdateien im alten Format erstellt, um die Kompatibilität für ältere Versionen sicherzustellen. Der Weltgenerator wurde nicht geändert, es werden nur 128 zusätzliche Blöcke Luft über das normale Terrain gelegt, daraus resultieren 192 Blöcke von Normal Null zum Höhenlimit.

  • Die 16x128x16 "Blocks", "Data", "SkyLight" und "BlockLight" Tags verändert und umfunktioniert (siehe unten).
  • Ein "Section"-Listentag, der Compound-Tags enthält, wurde bis zu 16 Compound-Tags aufgefüllt.
  • Jede Sektion besitzt 16x16x16 "Blocks", "Data", "SkyLight" and "BlockLight" Tags.
  • Jede Sektion besitzt einen "Y"-Bytetag welcher festlegt, um welche Sektion es sich in der vertikalen Auflistung handelt. 0 bedeutet ganz unten (Grundgesteinsschicht) und 15 ist die höchste Position.
  • Jede Sektion besitzt einen optionalen "Add" Tag, welcher ein Bytearray Datenlayer ist (wie "Data"). Dieser "Add" Tag ist nicht im Konverter enthalten, da im alten Format niemals Blöcke mit der ID größer als 255 vorgekommen sind. Dieser Extratag wird erstellt wenn ein Block dies verlangt, deswegen muss die getTile() Funktion nachsehen, ob der "Add" Tag existiert und es mit den Standardblockdaten kombinieren. In anderen Worten: blockid = (add << 8) + baseid.
  • Jeder Chunk besitzt ein 16x16 Bytearray mit Biom-IDs enthält und "Biomes" heißt. Wenn dieses Array fehlt wenn das Spiel den Chunk lädt, wird überall -1 eingetragen.
  • Das alte Format ist XZY ((x * 16 + z) * 16 + y) und das neue Format ist YZX ((y * 16 + z) * 16 + x) (der Unterschied zwischen DataLayer und OldDataLayer).
  • Das neue Format nutzt ".mca" als Dateiendung, anstatt ".mcr"
  • Ein neuer NBT Tagtyp mit dem Namen IntArray und der ID 11 wurde zum NBT-Format hinzugefügt und wird vom "Heightmap" Tag genutzt.

Für weitere Informationen siehe: Chunk Format).

Eigenständiger Konverter und Source-Code

Der Konverter und der Source-Code wurden nicht zusammen veröffentlicht, damit Entwickler sich vorbereiten und den Code untersuchen konnten[1]

Verkleinern der Levelgröße nach der Konvertierung

Die Leveldaten der Anvil Formats haben eine ".mca" Endung, während die Dateien des Region Formats auf ".mcr" enden. Um Speicherplatz zu sparen, können die ".mcr" Dateien nach einer erfolgreichen Konvertierung gelöscht werden:

  • Windows Konsole
    1. Windows Konsole öffnen (Win-r, cmd, Enter)
    2. Führe dieses Kommando aus(ohne die <> Zeichen):
del <path_to_your_world_data_directory>\*.mcr
  • Windows Explorer
    1. Öffne den Windows Explorer (Win-e)
    2. Navigiere zu dem Ordner, der die Weltdateien enthält.
    3. Wähle ihn aus.
    4. Durchsuche den Ordner (F3)
    5. Suche nach *.mcr
    6. Wähle aller Ergebnisse aus (Strg+a)
    7. Drücke Entf (Entfernen)
  • Linux shell
    1. cd in den Ordner, der die Leveldaten enthält.
    2. führe dieses Kommando aus:
find . -name \*.mcr -delete

Siehe auch

Einzelnachweise

Vorlage:Minecraft

Advertisement