| Vollversion | |||||
|---|---|---|---|---|---|
| 1.15 |
|
||||
Datenspeicher
Der Datenspeicher bietet für Befehle eine effiziente Möglichkeit, NBT-Daten für die spätere Verwendung zwischenzuspeichern.
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]Datenspeicher sind unabhängig voneinander und können jeweils durch einen eigenen ID-Namen angesprochen werden können. Es können beliebige ID-Namen als Bezeichnung für einen Datenspeicher verwendet werden.
Wird beim Speichern von Daten ein ID-Name eines noch nicht vorhandenen Datenspeichers angegeben, so wird ein Datenspeicher mit diesem ID-Namen angelegt und die Daten werden dort gespeichert.
Wird beim Lesen von Daten ein ID-Name eines noch nicht vorhandenen Datenspeichers angegeben, so wird als Inhalt {} geliefert (Befehl /data get storage nicht_da). Ist dabei ein Pfad innerhalb des Datenspeichers angegeben, so gibt dies einen Fehler, da der Pfad nicht existiert.
Der ID-Name des Datenspeichers 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 Datenspeichers wird mit der Minecraft-Welt gespeichert und bleibt so auch beim Verlassen des Spiels gespeichert.
Verwendung in Befehlen
[Bearbeiten | Quelltext bearbeiten]Mit dem Befehl /data, Befehl /execute store sowie Befehl /execute if data wird der Zugriff auf den Datenspeicher ermöglicht, in dem man durch Angabe von storage <datenspeicher> diesen adressiert, wobei <datenspeicher> der ID-Name des zu verwendenden Datenspeichers ist.
Wie bei Objekt- oder Blockdaten folgt auf die Angabe dieses Datenspeichers ein NBT-Pfad, um auf einzelne Untereinträge der NBT-Daten zuzugreifen.
Der Befehl /data ermöglicht das Kopieren beliebiger NBT-Datenstrukturen zwischen dem Datenspeicher und Objekten und Blöcken sowie das Zusammenfügen (merge) von Daten.
Der Befehl /execute store dagegen kann nur Zahlenwerte in den Datenspeicher schreiben.
Durch den Befehl /execute store ... run data get storage <datenspeicher> <pfad> können Zahlenwerte aus dem 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 Datenspeicher generell effizienter.
Datenquelle
[Bearbeiten | Quelltext bearbeiten]- .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
- Name des Weltordners: Der Weltordner enthält alle Daten einer Welt.
- saves: Speicherordner für alle Minecraft-Welten
Datenstruktur
[Bearbeiten | Quelltext bearbeiten]- 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 Datenspeicher in diesem Namensraum
- <name>: die im Datenspeicher
<namensraum>:<name>gespeicherten NBT-Daten- Daten, die durch die Befehle gespeichert wurden
- <name>: die im Datenspeicher
- contents: enthält einen Eintrag für jeden Datenspeicher in diesem Namensraum
- die namenslose Haupteigenschaft
Geschichte
[Bearbeiten | Quelltext bearbeiten]| Versionen der Java Edition |
|---|