Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter   Noch keinen Server gefunden? Es gibt einen Wiki-Server

Spielerdaten

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
Datenbaum im NBT-Explorer: "Meine Testwelt" hat im playerdata-Ordner eine Spielerdatei namens 1234abcd...dat. Der Dateiname ist die UUID des Spielers, die in den Daten nochmal als UUIDLeast und UUIDMost steht. In der weiter unten erscheinenden Datei level.dat stehen ebenfalls Spielerdaten (Player), auch dort mit der zweigeteilten UUID.

Spielerdaten (engl. Player Data) sind die Eigenschaften der Spieler in einer Welt.

Datenquelle[Bearbeiten | Quelltext bearbeiten]


  • .minecraft:
    Das im Launcher-Profil eingestellte Game Directory (Standard: .minecraft).

    • saves:
      Alle mit dieser Minecraft-Version generierten Welten.

      • Der Welt-Ordner enthält alle Daten einer Welt. Sein Name wird im Menü/Welt erstellen vergeben.

        • playerdata:
          Für jeden Spieler existiert in diesem Ordner eine eigene Spielerdatei.

          • Jede Spielerdatei hat die UUID des Spielers im Dateinamen, z.B. "1234abcd-1234-1234-9876-9876abcd1234.dat". Wie man die eigene UUID oder den zu einer UUID gehörenden Spielernamen herausfindet, steht im Artikel UUID.

        • level.dat:
          Für Einzelspielerwelten werden die Daten des aktuellen Spielers zusätzlich in den Weltdaten gespeichert.

          • Data:
            Alle globalen Daten der Welt.

            • Player:
              Die Spielerdaten des Singleplayer-Spielers. Hat Vorrang vor der Spielerdatei im playerdata-Ordner. Wird vom Server nur aktualisiert, wenn der Eintrag schon vorhanden ist, ansonsten nicht.

Änderbarkeit[Bearbeiten | Quelltext bearbeiten]

Spielerdaten werden im NBT-Format gespeichert. Das heißt, diese Daten sind außerhalb des Spiels nur mit einem speziellen NBT-Editor einseh- und änderbar. Bei Änderungen ist die Herkunft der Spielerdaten zu beachten, d.h. Änderungen in der Spielerdatei werden ignoriert, wenn die Welt im Einzelspielermodus betreten wird. In diesem Fall müssen die Spielerdaten in den Weltdaten geändert werden.

Im Spiel können nur bestimmte Spielereigenschaften geändert werden. Nicht geändert werden können z.B. Name, Gesundheit, Hunger, Luftvorrat, aktuelle Dimension, Verbrennung, Schlaf etc. Zum Ändern der Spielerdaten gibt es verschiedene Befehle. Diese können z.B. im Chat eingegeben oder über einen Befehlsblock ausgelöst werden.

Die Änderung erfolgt über die Parameter der Befehle. NBT-Daten können dabei nicht übergeben werden. Das ist nur für die Gegenstandsdaten möglich, die Teil der Spielerdaten sind (Inventar). Es gibt folgende Befehle:

Name ändern[Bearbeiten | Quelltext bearbeiten]

Die Änderung des eigenen Spielernamens erfolgt auf der Mojang-Account-Seite, wenn man sich dort eingeloggt hat. Dann sieht man neben dem Spielernamen einen "Change"-Button zum Ändern.

Der Name lässt sich allerdings nur alle 30 Tage ändern, man sollte deshalb mit Bedacht auswählen.

Skin ändern[Bearbeiten | Quelltext bearbeiten]

Das Aussehen des Spielers kann man über minecraft.net ändern, indem man dort nach dem Einloggen einen entsprechenden Skin hochlädt.

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

  • Einzelspielermodus: Für jeden Spieler, der das erste Mal eine Welt betritt, wird im playerdata-Ordner eine Spielerdatei mit seiner UUID als Dateinamen angelegt. Spätestens wenn er die Welt verlässt, werden dort seine Position, sein Inventar und seine sonstigen Eigenschaften gespeichert. Im Einzelspielermodus gibt es aber immer nur einen einzigen Spieler in der Welt. Seine Daten werden zusätzlich in den Weltdaten gespeichert. Sollten einmal mehrere Spieler nacheinander im Einzelspielermodus die Welt betreten, übernehmen sie nicht die Daten aus ihrer Spielerdatei, sondern immer die aus den Weltdaten. Somit übernimmt der aktuelle Spieler immer die Position, das Inventar und die sonstigen Eigenschaften seines Vorgängers und spielt dort weiter, wo dieser aufgehört hat.
  • Mehrspielermodus: Wie im Einzelspielermodus werden für jeden Spieler die Daten in der jeweiligen Spielerdatei gespeichert. In den Weltdaten sind in diesem Fall keine Spielerdaten enthalten, die Player-Eigenschaft fehlt dort (außer es hat jemand diese Welt einmal im Einzelspielermodus betreten). Wenn ein Spieler die Mehrspielerwelt irgendwann einmal erneut betritt, werden Position, Inventar und sonstige Eigenschaften aus seiner Spielerdatei gelesen. So spielt er genau dort weiter, wo er die Welt zuletzt verlassen hat.
  • LAN-Welt: Wenn eine Einzelspielerwelt im LAN veröffentlicht wird, kann sie von mehreren Spielern gleichzeitig betreten werden. Die Rolle des Servers übernimmt in diesem Fall der integrierte Server des Hosts, der die Welt veröffentlicht hat. Folglich liegt der Welt-Ordner inklusive aller Spielerdateien beim Host. Auf den Computern der Mitspieler gibt es den Welt-Ordner nicht und es werden dort auch keine Spielerdateien angelegt. Bei dieser Kombination von Einzelspieler- und Mehrspielermodus werden die Daten des Hosts in den Weltdaten gespeichert und die Daten der Mitspieler in ihren jeweiligen Spielerdateien. Wer auch immer die Rolle des Hosts übernimmt, spielt mit den Daten seines Vorgängers weiter, während die Mitspieler ihre Daten aus den Spielerdateien nehmen.

Die Erfolge und Statistiken eines Spielers werden nicht in seinen Spielerdaten, sondern getrennt davon in seinen Statistikdaten gespeichert.

Datenstruktur[Bearbeiten | Quelltext bearbeiten]

Spieler sind genauso wie andere Wesen (Tiere und Monster) Objekte. Das heißt, sowohl die Objektbasisdaten, als auch die Wesenbasisdaten sind Teil der Spielerdaten.

Objektbasisdaten[Bearbeiten | Quelltext bearbeiten]

  • Allgemeine Objekteigenschaften.

    • Air:
      Zeit in Ticks, wieviel Luft das Objekt noch zur Verfügung hat. Das Maximum sind 300 Ticks, wenn das Objekt an der Luft ist, was einer Lebensdauer von 15 Sekunden entspricht. Unter Wasser sinkt der Wert innerhalb von 15 Sekunden auf 0. Danach verliert das Objekt unter Wasser einen Gesundheitspunkt pro Sekunde. Bei 20 Gesundheitspunkten entspricht das einer Gesamtlebensdauer von 35 Sekunden, bis es ertrunken ist. Für Tintenfische sinkt der Wert an der Luft und nicht im Wasser.

    • CommandStats:
      Optional für Objekte, die einen Befehl ausführen können (Spieler, Kreatur über den Befehl /execute, Befehlsblocklore): Alle Ergebnisse, die dieses Objekt bei der Befehlsausführung zählen kann:

      • AffectedBlocksName:
        Name des Spielers oder Anzeigetafel-Zählers, dessen Punktestand auf die Anzahl der Blöcke gesetzt werden soll, wenn der Befehl, den dieses Objekt ausgeführt hat, Blöcke verändert oder geprüft hat.

      • AffectedBlocksObjective:
        Name des Anzeigetafel-Ziels (= Punktestand), das für AffectedBlocksName auf die Anzahl der Blöcke gesetzt werden soll.

      • AffectedEntitiesName:
        Name des Spielers oder Anzeigetafel-Zählers, dessen Punktestand auf die Anzahl der Objekte gesetzt werden soll, wenn der Befehl, den dieses Objekt ausgeführt hat, Objekte verändert oder geprüft hat.

      • AffectedEntitiesObjective:
        Name des Anzeigetafel-Ziels, das für AffectedEntitiesName auf die Anzahl der Objekte gesetzt werden soll.

      • AffectedItemsName:
        Name des Spielers oder Anzeigetafel-Zählers, dessen Punktestand auf die Anzahl der Gegenstände gesetzt werden soll, wenn der Befehl, den dieses Objekt ausgeführt hat, Objekte verändert oder geprüft hat.

      • AffectedItemsObjective:
        Name des Anzeigetafel-Ziels, das für AffectedItemsName auf die Anzahl der Gegenstände gesetzt werden soll.

      • QueryResultName
        : Name des Spielers oder Anzeigetafel-Zählers, dessen Punktestand auf das Ergebnis des letzten Befehls gesetzt werden soll.

      • QueryResultObjective
        : Name des Anzeigetafel-Ziels, das für QueryResultName auf das Ergebnis des letzten Befehls gesetzt werden soll.

      • SuccessCountName:
        Name des Spielers oder Anzeigetafel-Zählers, dessen Punktestand auf 1 gesetzt werden soll, wenn der Befehl, den dieses Objekt ausgeführt hat, erfolgreich war oder auf 0, wenn er nicht erfolgreich war.

      • SuccessCountObjective:
        Name des Anzeigetafel-Ziels, das für SuccessCountName auf Erfolg (1) oder Misserfolg (0) gesetzt werden soll.

    • CustomName:
      Optional. Anzeigename für das Objekt. Erscheint wenn man mit der Maus über das Objekt fährt, im Handelsinventar des Dorfbewohners und in der Todesmeldung des Spielers, wenn er von der Kreatur getötet wurde. Existiert nicht, falls das Objekt ein Spieler ist.

    • CustomNameVisible:
      Nur bei Objekten, die keine Kreaturen oder Spieler sind: 1 oder 0 (true/false) - wenn true und dieses Objekt einen CustomName hat, wird der Anzeigename immer über ihrem Kopf erscheinen, auch wenn man nicht mit der Maus über das Objekt fährt. Bei Kreaturen wirkt diese Eigenschaft nicht.

    • Dimension:
      Dimension in der sich das Objekt befindet: -1 für den Nether, 0 für die Oberwelt, und 1 für das Ende. Mit dem Befehl /testfor oyo123 {Dimension:-1} kann man z.B. abfragen, ob sich der Spieler oyo123 im Nether befindet.

    • FallDistance:
      Distanz die das Objekt schon gefallen ist. Größere Werte fügen mehr Schaden zu, wenn das Objekt landet.

    • Fire:
      Zeit in Ticks, bis das Feuer eines Objektes gelöscht wird. Negative Werte sagen aus, wie lange das Objekt im Feuer stehen kann, ohne zu brennen. Standard ist -1 wenn es nicht brennt.

    • Glowing:
      Optional. 1 oder 0 (true/false) - true, wenn die Umrisse des Objektes leuchten als ob es von einem Spektralpfeil getroffen wurde. Bei einigen Objekten hat diese Eigenschaft keine Wirkung.

    • id:
      Die Objekt-ID. Existiert nicht, falls das Objekt ein Spieler ist.

    • Invulnerable:
      1 oder 0 (true/false) - true wenn das Objekt unverwundbar ist, d.h. keinerlei Schaden nehmen soll. Das gilt sowohl für lebende als auch für nicht lebende Objekte: Wesen nehmen dann absolut keinen Schaden, auch nicht durch Tränke, und Objekte (z.B. Rahmen) können nicht zerstört werden, außer ihr Trägerblock wird abgebaut. Unverwundbare Objekte können auch weder durch Angeln, Angriffe, Explosionen oder Geschosse verschoben werden. Einzige Möglichkeit, ein unverwundbares Objekt loszuwerden: es in die Leere fallen lassen oder im Kreativmodus angreifen.

    • Motion:
      Liste mit 3 Double-Eigenschaften, die die aktuelle Geschwindigkeit des Objektes in X, Y und Z-Richtung bestimmen in Blöcken pro Tick.

      • X-Geschwindigkeit

      • Y-Geschwindigkeit

      • Z-Geschwindigkeit

    • NoGravity:
      1 oder 0 (true/false) - wenn true, fällt das Objekt nicht nach unten, wenn der Block unter ihm entfernt wird.

    • OnGround:
      1 oder 0 (true/false) - true, wenn das Objekt den Boden berührt.

    • Passengers:
      Optional. Liste mit Objekten, die dieses Objekt als Passagier hat. Der erste Passagier steuert das Objekt. Da ein Passagier wiederum ein Objekt ist, können Reiterstapel gebildet werden, z.B. eine Lore mit einer Spinne als Passagier, die wiederum ein Skelett als Passagier hat.

    • PortalCooldown:
      Zeit in Ticks, bis das Objekt durch ein Portal zurück teleportiert werden kann. Beginnt bei einem Wert von 900 (45 Sekunden) nach einer Teleportation und zählt runter bis 0.

    • Pos:
      Liste mit 3 Double-Eigenschaften, die die aktuelle X,Y,Z-Position des Objektes bestimmen.

      • X-Position

      • Y-Position

      • Z-Position

    • Rotation:
      Liste mit 2 Float-Eigenschaften, die die Rotation des Objektes in Grad bestimmen (mit Ausnahme des Enderdrachen und aller Objekte, die ihre Rotation in anderen Eigenschaften speichern):

      • Die Rotation eines Objektes im Uhrzeigersinn um seine Y-Achse. 0f = Blick nach Süden, 90f = Blick nach Westen, 180f = Blick nach Norden, 270f = Blick nach Osten. Das Maximum ist 360 Grad.

      • Die Neigung eines Objektes gegen den Horizont. Genau horizontal ist gleich 0. Bei positiven Werten schaut es nach unten. Maximum sind ±90 Grad.

    • Silent:
      Optional. 1 oder 0 (true/false) - wenn true, macht das Objekt kein Geräusch.

    • Tags:
      Optional. Eine Liste von Etiketten, über die man das Objekt mit der Ziel-Auswahl tag auswählen kann.

      • Ein Etikett. Für die Ziel-Auswahl tag muss das ein Wort ohne Leerzeichen und Doppelpunkte sein. Mit dem Befehl /testfor kann man dagegen über die NBT-Daten auch Leerzeichen und Doppelpunkte abfragen.

    • UUIDLeast:
      Die rechte Hälfte der UUID, eine beliebige Zahl größer 0, die zusammen mit UUIDMost für das Objekt eindeutig sein muss.

    • UUIDMost:
      Die linke Hälfte der UUID, eine beliebige Zahl größer 0. Zur Umwandlung siehe UUID.


Wesenbasisdaten[Bearbeiten | Quelltext bearbeiten]

  • Zusätzliche Eigenschaften für alle Wesen (Spieler und Kreaturen).

    • AbsorptionAmount:
      Extra-Gesundheit die durch einen Schutz-Effekt hinzugefügt wird.

    • ActiveEffects:
      Optional. Liste der Effekte, die auf dieses Wesen wirken.

      • Alle Effektdaten.

        • Ambient:
          Optional. 1 oder 0 (true/false) - true wenn statt der normalen Partikelfarben gedämpfte Pastellfarben verwendet werden sollen. Dies ist normalerweise bei Leuchtfeuer-Effekten der Fall.

        • Amplifier:
          Stärke des Effektes. Der Wert 0 ist Stärke I.

        • Duration:
          Dauer des Effektes in Ticks.

        • Id:
          Statuseffekt-ID.

        • ShowParticles:
          Optional. 1 oder 0 (true/false) - false wenn der Effekt keine Partikel erzeugen soll. Achtung: der Datentyp muss mit "b" gekennzeichnet werden, also: 0b für false. Wird die Eigenschaft weggelassen oder etwas anderes als "0b" angegeben, gilt der Wert "true".

    • Attributes:
      Liste aller Attribute dieses Wesens. Attribute legen die Eigenschaften des Wesens fest, z.B. seine maximale Gesundheit, seinen Angriffsschaden und seine Geschwindigkeit.

      • Alle Attribut-Daten.

        • Name:
          Name des Attributes.

        • Base:
          Grundwert des Attributes.

        • Modifiers:
          Liste von Attribut-Modifikatoren, die den Attribut-Grundwert beeinflussen. Baby-Zombies haben z.B. einen Geschwindigkeits-Modifikator, der sie schneller sein lässt, als normale Zombies.

          • Alle Modifikator-Daten.

            • Amount:
              Wert des Modifikators, mit dem er den Attribut-Grundwert beeinflusst.

            • Name:
              Name des Modifikators. Auch wenn der Name nirgends angezeigt wird, darf diese Eigenschaft nicht weggelassen werden.

            • Operation:
              0, 1 oder 2. Dieser Wert legt fest, wie der Modifikator den Grundwert beeinflusst. Siehe Modifikator-Berechnung.

            • UUIDLeast:
              Die rechte Hälfte der UUID, eine beliebige Zahl größer 0, die zusammen mit UUIDMost für den Modifikator eindeutig sein muss.

            • UUIDMost:
              Die linke Hälfte der UUID, eine beliebige Zahl größer 0.

    • DeathLootTable:
      Optional eine Beutetabelle, die angibt, was die Kreatur beim Tod droppt.

    • DeathLootTableSeed:
      Optional ein Startwert, der in der angegebenen Beutetabelle für Zufallszahlen verwendet wird.

    • DeathTime:
      Zeit in Ticks, in der das Wesen stirbt. Kontrolliert Sterbe-Animation. 0 wenn es lebt.

    • Health:
      Anzahl der Gesundheit, die ein Wesen noch besitzt. Der Wert 1 steht für ein halbes Herz. Ein Kommawert ist folglich der Teil eines halben Herzens, nicht der eines ganzen.

    • HurtByTimestamp:
      Zeitpunkt, zu dem die Kreatur zuletzt verletzt wurde, gemessen in Ticks seit ihrer Erschaffung. Wenn die Kreatur verletzt wird, wird der Wert neu gesetzt. Aus einem unbekannten Grund wird der Wert 101 Ticks später noch einmal gesetzt. Zwar kann der Wert mit dem Befehl /entitydata verändert werden, was aber keine Auswirkung hat und mit der nächsten Verletzung überschrieben wird.

    • HurtTime:
      Zeit in Ticks, die das Wesen rot gezeichnet wird, nachdem es getroffen wurde. 0, wenn er nicht kürzlich getroffen wurde.


Spieler[Bearbeiten | Quelltext bearbeiten]


  • Spieler haben folgende zusätzliche Eigenschaften:

    • abilities:
      Alle Fähigkeiten des Spielers.

      • flying:
        1 oder 0 (true/false) - true wenn der Spieler gerade fliegt.

      • flySpeed:
        Flug-Geschwindigkeit. Der Wert beträgt immer 0.05.

      • instabuild:
        1 oder 0 (true/false) - true wenn der Spieler Blöcke sofort zerstören darf (üblicherweise true im Kreativmodus).

      • invulnerable:
        1 oder 0 (true/false) - true wenn der Spieler immun gegen jeden Schaden ist (Ausnahme: Fall in die Leere und der Befehl /kill).

      • mayBuild:
        1 oder 0 (true/false) - true wenn der Spieler Blöcke platzieren und zerstören darf (üblicherweise false im Abenteuermodus).

      • mayfly:
        1 oder 0 (true/false) - true wenn der Spieler fliegen darf (üblicherweise true im Kreativmodus).

      • walkSpeed:
        Die Geh-Geschwindigkeit. Der Wert beträgt immer 0.1 (siehe auch die Liste der Geschwindigkeiten unter Attribut).

    • DataVersion:
      Die Version-ID der Minecraft-Version, mit der der Spieler die Welt zuletzt verlassen hat. Bei erneuten Betreten der Welt wird diese Version mit der Version-Eigenschaft der Weltdaten verglichen. Falls der Spieler mit veralteter oder fehlender DataVersion geladen wird, werden veraltete Eigenschaften entfernt oder gegebenenfalls umgewandelt und ersetzt[1].

    • EnderItems:
      Hat der Spieler keine Gegenstände in seiner Endertruhe ist dies eine leere Byte-Liste. Wenn Gegenstände in der Truhe sind, ist dies eine Compound-Liste mit den Gegenstandsdaten mit Slot (0 bis 26).

    • foodLevel:
      Stand der Hungerleiste des Spielers. 20 ist voll (Anzeige von 10 Hungerbalken).

    • foodExhaustionLevel:
      Stand der Erschöpung des Spielers. Die Erschöpfung liegt zwischen 0.0 und 4.0 und erhöht sich mit jeder Aktion des Spielers. Steigt der Wert über 4.0, wird foodSaturationLevel um 1 erniedrigt und die Erschöpung beginnt wieder bei 0.

    • foodSaturationLevel:
      Stand der Sättigung des Spielers. Sie ist nie größer als foodLevel und wird durch Nahrung aufgefüllt oder durch Erschöpfung geleert. Sobald sie unter 0 fallen würde, bleibt sie bei 0 und vermindert stattdessen foodLevel um 1.

    • foodTickTimer:
      Erhöht sich mit jedem Tick wenn die Hungerleiste größer 17 oder gleich 0 ist. Wenn der Wert 80 erreicht, wird dem Spieler 1 Leben (1/2 Herz) hinzugefügt (Gesundung) oder abgezogen (Schwächung), je nachdem ob er satt ist oder verhungert.

    • Inventory:
      Liste der Gegenstandsdaten im Spielerinventar mit Slot. Zu den Slotnummern siehe Datenwerte.

    • playerGameType:
      Spielmodus des Spielers: 0 = Überlebensmodus, 1 = Kreativmodus, 2 = Abenteuermodus, 3 = Zuschauermodus.

    • RootVehicle:
      Enthält Informationen über Objekt das der Spieler reitet. Es wird wenn der Spieler einen Server verlässt automatisch mit entfernt und wenn er wieder beitritt basierend auf diesem Eintrag erstellt.

      • AttachLeast:
        Die UUIDLeast des Objektes.

      • AttachMost:
        Die UUIDMost des Objektes.

      • Entity:
        Das Objekt, das der Spieler reitet.

    • Score:
      Aktueller Stand an Erfahrungspunkten des Spielers.

    • SelectedItem:
      Die Gegenstandsdaten des Gegenstandes, den der Spieler in der Hand hält ohne Slot.

    • SelectedItemSlot:
      Aktuell ausgewählter Slot der Schnellzugriffsleiste.

    • Sleeping:
      1 oder 0 (true/false) - true wenn der Spieler aktuell im Bett liegt.

    • SleepTimer:
      Anzahl der Ticks, die der Spieler bereits im Bett liegt.

    • SpawnForced:
      1 oder 0 (true/false) - Wenn der Wert true ist, spawnt der Spieler an den Koordinaten des letzten Bettes (siehe SpawnX), auch wenn dieses nicht mehr vorhanden ist. In diesem Fall werden die Spawn-Eigenschaften nicht gelöscht, da der Spawn erfolgreich war. Standardwert: false.

    • SpawnX:
      Optional. Die X-Koordinate des Spawnpunktes des letzten Bettes. Wenn noch kein Bett existiert, sind die drei Spawn-Eigenschaften nicht vorhanden. Dann gilt der Spawnpunkt der Welt (siehe Weltdaten). Wenn das letzte Bett zerstört wurde, werden die drei Spawn-Eigenschaften nach dem erfolglosen ersten Spawnversuch gelöscht und der Spieler spawnt am Spawnpunkt der Welt (mit entsprechender Nachricht).

    • SpawnY:
      Optional. Die Y-Koordinate des Spawnpunktes des letzten Bettes.

    • SpawnZ:
      Optional. Die Z-Koordinate des Spawnpunktes des letzten Bettes.

    • XpLevel:
      Aktuelles Erfahrungslevel des Spielers

    • XpP:
      Der Prozentsatz der Erfahrungsleiste bis zum nächsten Erfahrungslevel.

    • XpSeed:
      Startwert für die Berechnung der zufälligen Verzauberungen am Zaubertisch. Durch die Speicherung des Startwertes bleiben die angebotenen Verzauberungen an jedem Zaubertisch so lange identisch, bis eine Verzauberung durchgeführt wird. Dann wird ein neuer Startwert für die nächsten zufälligen Verzauberungen berechnet.

    • XpTotal:
      Aktuelle Anzahl der Erfahrungspunkte des Spielers. Identisch mit Score.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. All about the DataVersion tag: Genaue Beschreibung der DataVersion Eigenschaft.

Geschichte[Bearbeiten | Quelltext bearbeiten]