Minecraft Wiki
Registrieren
Advertisement

Der NBT-Datenspeicher bietet für Befehle eine effiziente Möglichkeit, NBT-Daten für die spätere Verwendung zwischenzuspeichern.

Funktionsweise[]

Der NBT-Datenspeicher ist in einzelne Wertspeicher gegliedert, die unabhängig voneinander sind und jeweils durch einen eigenen ID-Namen angesprochen werden können. Es können beliebige ID-Namen als Bezeichnung für einen Wertspeicher verwendet werden.

Wird beim Speichern von Daten ein ID-Name eines noch nicht vorhandenen Wertspeichers angegeben, so wird ein Wertspeicher mit diesem ID-Namen angelegt und die Daten werden dort gespeichert. Wird beim Lesen von Daten ein ID-Name eines noch nicht vorhandenen Wertspeichers angegeben, so wird als Inhalt {} geliefert (Befehl /data get storage nicht_da). Ist dabei ein Pfad innerhalb des Wertspeichers angegeben, so gibt dies einen Fehler, da der Pfad nicht existiert.

Der ID-Name des Wertspeichers erlaubt die Verwendung von Namensräumen. Wird kein Namensraum explizit angegeben, so wird der Namensraum minecraft verwendet. Insbesondere in Datenpaketen ist die Verwendung eines eigenen Namensraums zu empfehlen, damit die Daten nicht durch andere Datenpakete überschrieben werden.

Der Inhalt des NBT-Datenspeichers wird mit der Minecraft-Welt gespeichert und bleibt so auch beim Verlassen des Spiels gespeichert.

Verwendung in Befehlen[]

In die Befehlen /data und /execute store sowie /execute if data erlauben den Zugriff auf den NBT-Datenspeicher durch Angabe von storage <wertspeicher>, wobei <wertspeicher> der ID-Name des zu verwendenden Wertspeichers ist. Wie bei Objekt- oder Blockdaten folgt auf die Angabe dieses Wertspeichers ein NBT-Pfad, um auf einzelne Untereinträge der NBT-Daten zuzugreifen.

Der Befehl /data ermöglicht das Kopieren beliebiger NBT-Datenstrukturen zwischen dem NBT-Datenspeicher und Objekten und Blöcken sowie das Zusammenfügen (merge) von Daten. Der Befehl /execute store dagegen kann nur Zahlenwerte in den NBT-Datenspeicher schreiben.

Durch den Befehl /execute store ... run data get storage <wertspeicher> <pfad> können Zahlenwerte aus dem NBT-Datenspeicher auch in die Anzeigetafel oder in Bossleisten übertragen werden.

Während Marker es ebenfalls erlauben, beliebige NBT-Daten zu speichern (siehe Marker#Nutzung als Datenspeicher), ist die Speicherung im NBT-Datenspeicher generell effizienter.

Datenquelle[]

  • .minecraft: Der im Launcher-Profil eingestellte Spielordner (Standard: .minecraft).
    • saves: Speicherordner für alle Minecraft-Welten
      • Name des Weltordners: Der Weltordner enthält alle Daten einer Welt.
        • data: Ordner mit verschiedene Dateien mit Daten dieser Welt
          • command_storage_<namensraum>.dat: Diese Datei enthält die durch Befehle gespeicherten NBT-Daten im Namensraum <namensraum>. Es handelt sich um eine GZip-komprimierte NBT-Datei. Für jeden Namensraum, der einen Wertspeicher enthält, wird eine solche Datei angelegt.

Datenstruktur[]

  • command_storage_<namensraum>.dat: Diese Datei enthält die durch Befehle gespeicherten NBT-Daten im Namensraum <namensraum>.
    • die namenslose Haupteigenschaft
      • DataVersion: die Datenversion, in der die Datei zuletzt gespeichert wurde
      • data
        • contents: enthält einen Eintrag für jeden Wertspeicher in diesem Namensraum
          • <name>: die im Wertspeicher <namensraum>:<name> gespeicherten NBT-Daten
            • Daten, die durch die Befehle gespeichert wurden

Geschichte[]

Versionsgeschichte der Java Edition
Vollversion 1.15
19w38a
19w39a
  • Daten aus dem NBT-Datenspeicher können als Textelemente in JSON-Texten eingebunden werden.
Advertisement