Minecraft Wiki
(predicate)
(Java: 21w37a;)
(16 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 16: Zeile 16:
 
* Anwendung eigener Befehlslisten mittels [[Funktion]]en.
 
* Anwendung eigener Befehlslisten mittels [[Funktion]]en.
 
* Laden eigener Konstruktionen mit dem [[Konstruktionsblock]].
 
* Laden eigener Konstruktionen mit dem [[Konstruktionsblock]].
  +
* Generierung von eigenen Dimensionen
  +
* Generierung von eigenen Biomen, Bauwerke und Dekorationen mit der [[Angepasste Weltgenerierung|angepassten Weltgenerierung]].
  +
* Gegenstandsmodifizierer die Gegenstände im Inventar verändern können.
   
 
Datenpakete werden eingelesen:
 
Datenpakete werden eingelesen:
Zeile 33: Zeile 36:
 
# Nachträglich können sie auch mit dem {{b|/reload}} geladen werden.
 
# Nachträglich können sie auch mit dem {{b|/reload}} geladen werden.
 
# Mit dem {{b|/datapack list}} werden alle Datenpakete aufgelistet.
 
# Mit dem {{b|/datapack list}} werden alle Datenpakete aufgelistet.
# Mit dem {{b|/datapack enable}} kann die Reihenfolge der Datenpakete festgelegt werden.
+
# Mit dem {{b|/datapack enable}} kann ein Datenpaket wieder aktiviert werden und die Reihenfolge der Datenpakete festgelegt werden.
 
# Mit dem {{b|/datapack disable}} kann ein Datenpaket dauerhaft deaktiviert werden.
 
# Mit dem {{b|/datapack disable}} kann ein Datenpaket dauerhaft deaktiviert werden.
 
Auch Serverwelten haben einen Ordner ''datapacks'' in ihrem Weltordner (der Weltordner ist in den [[server.properties]] festgelegt).
 
Auch Serverwelten haben einen Ordner ''datapacks'' in ihrem Weltordner (der Weltordner ist in den [[server.properties]] festgelegt).
Zeile 42: Zeile 45:
 
Die Datei '''pack.mcmeta''' steht direkt im [[#Aufbau|Paket-Ordner]]. Sie speichert die allgemeinen Informationen für ein Datenpaket. Diese Datei ist für Minecraft das Erkennungszeichen, dass sich der Ordner, in dem sich die Datei befindet, ein Datenpaket-Ordner ist. Fehlt die Datei, wird der Ordner nicht als Datenpaket erkannt und erscheint nicht in der Auflistung bei dem {{b|/datapack list}}. Der Dateityp ''mcmeta'' bedeutet ''M''ine''C''raft ''Meta''daten, es ist aber eine normale Textdatei im [[JSON]]-Format.
 
Die Datei '''pack.mcmeta''' steht direkt im [[#Aufbau|Paket-Ordner]]. Sie speichert die allgemeinen Informationen für ein Datenpaket. Diese Datei ist für Minecraft das Erkennungszeichen, dass sich der Ordner, in dem sich die Datei befindet, ein Datenpaket-Ordner ist. Fehlt die Datei, wird der Ordner nicht als Datenpaket erkannt und erscheint nicht in der Auflistung bei dem {{b|/datapack list}}. Der Dateityp ''mcmeta'' bedeutet ''M''ine''C''raft ''Meta''daten, es ist aber eine normale Textdatei im [[JSON]]-Format.
   
Je nach [https://vollversion-kaufen.de/blog/anleitung-dateiendungen-anzeigen-windows-explorer Einstellung werden die Dateiendungen] nicht angezeigt, dann wird zwar als Dateiname <code>pack.mcmeta</code> sichtbar angezeigt, aber der volle Name lautet, wenn man mit einem Rechtsklick auf die Datei geht und auf Eigenschaften klickt, dann <code>pack.mcmeta'''.txt'''</code> wodurch das Datenpaket nicht erkannt werden kann!
+
Je nach Dateiendungen nicht angezeigt, dann wird zwar als Dateiname <code>pack.mcmeta</code> sichtbar angezeigt, aber der volle Name lautet, wenn man mit einem Rechtsklick auf die Datei geht und auf Eigenschaften klickt, dann <code>pack.mcmeta'''.txt'''</code>, wodurch das Datenpaket nicht erkannt wird!
   
 
Die ''pack.mcmeta''-Datei hat folgenden Aufbau:
 
Die ''pack.mcmeta''-Datei hat folgenden Aufbau:
Zeile 49: Zeile 52:
 
** {{JSON|objekt|pack:}} Alle allgemeinen Informationen für das Datenpaket.
 
** {{JSON|objekt|pack:}} Alle allgemeinen Informationen für das Datenpaket.
 
*** {{JSON|text|description:}} Die Beschreibung des Datenpaketes. Sie wird angezeigt, wenn man sich die Datenpakete mit dem {{b|/datapack list}} anzeigt und mit der Maus über einen Namen fährt. Die Beschreibung kann auch leer sein. Für die Darstellung von bunten Texten in dieser Beschreibung können [[Formatierungscodes]] verwendet werden.
 
*** {{JSON|text|description:}} Die Beschreibung des Datenpaketes. Sie wird angezeigt, wenn man sich die Datenpakete mit dem {{b|/datapack list}} anzeigt und mit der Maus über einen Namen fährt. Die Beschreibung kann auch leer sein. Für die Darstellung von bunten Texten in dieser Beschreibung können [[Formatierungscodes]] verwendet werden.
*** {{JSON|zahl|pack_format:}} Das Format des Datenpaketes. Zur Zeit ist nur der Wert <code>1</code> sinnvoll. Sollte sich mit einer zukünftigen Minecraft-Version das JSON-Format einer der Weltdaten ändern, erhöht sich die Paketformatnummer, um alte Datenpakete von neuen unterscheiden und eine Warnung ausgeben zu können.
+
*** {{JSON|zahl|pack_format:}} Das Format des Datenpaketes. Sollte sich mit einer zukünftigen Minecraft-Version das JSON-Format einer der Weltdaten ändern, erhöht sich die Paketformatnummer, um alte Datenpakete von neuen unterscheiden und eine Warnung ausgeben zu können.
 
</div>
 
</div>
   
Zeile 56: Zeile 59:
 
{
 
{
 
"pack": {
 
"pack": {
"pack_format": 5,
+
"pack_format": 8,
 
"description": "Mein Datenpaket"
 
"description": "Mein Datenpaket"
 
}
 
}
Zeile 78: Zeile 81:
 
**** {{JSON|ORDNER|recipes:}} Veränderte [[Rezeptdaten]].
 
**** {{JSON|ORDNER|recipes:}} Veränderte [[Rezeptdaten]].
 
**** {{JSON|ORDNER|tags:}} Veränderte [[Aliasdaten]] (hier die [[Aliasdaten#Herkunft|Unterordner]]).
 
**** {{JSON|ORDNER|tags:}} Veränderte [[Aliasdaten]] (hier die [[Aliasdaten#Herkunft|Unterordner]]).
  +
**** {{JSON|ORDNER|dimension:}} Veränderte [[Angepasste Dimensionen|Dimensionen]].
  +
**** {{JSON|ORDNER|dimension_type:}} Verändert [[angepasste Dimensionen#Dimensionstyp|Eigenschaften von Dimensionen]].
  +
**** {{JSON|ORDNER|worldgen:}} Verändert die [[Angepasste Weltgenerierung|Weltgeneration]] wie Biome, Bauwerke und Dekorationen.
 
*** {{JSON|ordner|''eigener-namensraum'':}} Für eigene Weltdaten legt man einen eigenen [[Namensraum]] an. Folgende Weltdaten können im Originalspiel neu hinzugefügt werden:
 
*** {{JSON|ordner|''eigener-namensraum'':}} Für eigene Weltdaten legt man einen eigenen [[Namensraum]] an. Folgende Weltdaten können im Originalspiel neu hinzugefügt werden:
 
**** {{JSON|ORDNER|advancements:}} Eigene [[Fortschrittsdaten]].
 
**** {{JSON|ORDNER|advancements:}} Eigene [[Fortschrittsdaten]].
Zeile 86: Zeile 92:
 
**** {{JSON|ORDNER|structures:}} Eigene [[Konstruktionsvorlagen]].
 
**** {{JSON|ORDNER|structures:}} Eigene [[Konstruktionsvorlagen]].
 
**** {{JSON|ORDNER|tags:}} Eigene [[Aliasdaten]].
 
**** {{JSON|ORDNER|tags:}} Eigene [[Aliasdaten]].
  +
**** {{JSON|ORDNER|dimension:}} Eigene [[Angepasste Dimensionen|Dimensionen]].
  +
**** {{JSON|ORDNER|dimension_type:}} Eigene [[angepasste Dimensionen#Dimensionstyp|Eigenschaften von Dimensionen]].
  +
**** {{JSON|ORDNER|worldgen:}} Eigene [[Angepasste Weltgenerierung|Weltgeneration]] sowie eigene Biome, Bauwerke und Dekorationen.
  +
**** {{JSON|ORDNER|item_modifiers:}} Eigene [[Gegenstandsmodifizierer]].
 
</div>
 
</div>
   
Zeile 111: Zeile 121:
 
|untergruppe=1
 
|untergruppe=1
 
|group1= {{ver|version|17w43a}}
 
|group1= {{ver|version|17w43a}}
|list1= *Datenpakete hinzugefügt, bisher wurden geänderte Weltdaten im Unterordner ''/data'' abgelegt
+
|list1= *Datenpakete hinzugefügt, bisher wurden geänderte Weltdaten im Unterordner ''/data'' abgelegt.
*Beutetabellen (''/loot_tables''), Fortschrittsdaten (''/advancements''), Funktionen (''/functions''), Rezeptdaten (''/recipes'') und eigene Konstruktionsvorlagen (''/structures'') werden in Datenpaketen gespeichert
+
*Beutetabellen (''/loot_tables''), Fortschrittsdaten (''/advancements''), Funktionen (''/functions''), Rezeptdaten (''/recipes'') und eigene Konstruktionsvorlagen (''/structures'') werden in Datenpaketen gespeichert.
 
|group2= {{ver|version|17w46a}}
 
|group2= {{ver|version|17w46a}}
|list2= *{{b|/datapack}} zur Verwaltung von Datenpaketen hinzugefügt
+
|list2= *{{b|/datapack}} zur Verwaltung von Datenpaketen hinzugefügt.
 
|group3= {{ver|version|17w49a}}
 
|group3= {{ver|version|17w49a}}
|list3= *[[Aliasdaten]] (''/tags'') hinzugefügt
+
|list3= *[[Aliasdaten]] (''/tags'') hinzugefügt.
 
}}
 
}}
|group2= {{ver|1.15|19w38a}}
+
|group2= {{ver|1.15}}
  +
|list2=
|list2= *[[Prädikate]] (''/predicates'') hinzugefügt
 
  +
{{Geschichtlich
  +
|untergruppe=1
  +
|group1= {{ver|version|19w38a}}
 
|list1= *[[Prädikate]] (''/predicates'') hinzugefügt.
  +
|group2= {{ver|version|1.15-pre2}}
  +
|list2= *Die Versionsnummer wird von <code>1</code> auf <code>5</code> in pack.mcmeta geändert.
 
}}
 
}}
  +
|group3= {{ver|1.16.2|1.16.2-rc1}}
  +
|list3= *Die Versionsnummer wird auf <code>6</code> in pack.mcmeta geändert.
  +
|group4= {{ver|1.17}}
  +
|list4=
  +
{{Geschichtlich
  +
|untergruppe=1
  +
|group1= {{ver|version|20w45a}}
  +
|list1= *Das Pack-Format in version.json wird in Daten- und Ressourcenversionen aufgeteilt.
  +
|group2= {{ver|version|20w46a}}
  +
|list2= *Die Versionsnummer wird auf <code>7</code> in pack.mcmeta geändert.
  +
*[[Gegenstandsmodifizierer]] (''/item_modifiers'') hinzugefügt.
  +
}}
  +
|group5= {{ver|1.18|21w37a}}
  +
|list5= *Die Versionsnummer wird auf <code>8</code> in pack.mcmeta geändert.
  +
}}
  +
 
{{Navbox-Minecraftdaten}}
 
{{Navbox-Minecraftdaten}}
   
[[en:Data pack]]
+
[[en:Data Pack]]
 
[[fr:Pack de données]]
 
[[fr:Pack de données]]
[[ja:Data pack]]
+
[[ja:データパック]]
  +
[[pl:Paczki danych]]
  +
[[pt:Pacote de dados]]
  +
[[ru:Набор данных]]
  +
[[th:ดาต้าแพ็ก]]
 
[[zh:数据包]]
 
[[zh:数据包]]

Version vom 16. Oktober 2021, 11:18 Uhr

Mit einem Datenpaket (engl. data pack) können Änderungen an den Weltdaten für eine bestimmte Welt vorgenommen werden (Server-Seite). Das unterscheidet sie von Ressourcenpaketen, die die Darstellung des gesamten Spiels (Client-Seite) ändern.

Durch die Anwendung eines Datenpaketes können sowohl existierende Weltdaten (Beutetabellen, Fortschrittsdaten etc.) verändert, als auch neue hinzugefügt werden.

Konzept

Das Konzept der Datenpakete besteht darin, dass das Spiel gewisse Informationen wie Kreaturen-Drops oder Fortschritte aus Dateien einliest und anwendet. Ändert man diese Dateien, hat man automatisch andere Kreaturen-Drops oder andere Fortschritte. Folgende Weltdaten können verändert werden:

  • Drops von getöteten Kreaturen.
  • Inhalte von generierten Truhen.
  • Funde beim Angeln.
  • Texte, Bedingungen und Ergebnisse der Minecraft-Fortschritte sowie Anwendung eigener Fortschritte.
  • Prädikate und Bedingungen für Befehle.
  • Handwerk-Rezepte.
  • Ofen-Rezepte.
  • Alternative ID-Namen für Blöcke und Gegenstände.
  • Anwendung eigener Befehlslisten mittels Funktionen.
  • Laden eigener Konstruktionen mit dem Konstruktionsblock.
  • Generierung von eigenen Dimensionen
  • Generierung von eigenen Biomen, Bauwerke und Dekorationen mit der angepassten Weltgenerierung.
  • Gegenstandsmodifizierer die Gegenstände im Inventar verändern können.

Datenpakete werden eingelesen:

  • Beim Laden der Welt oder beim Starten des Servers,
  • beim Befehl /reload,
  • beim Anklicken der „Fertig“-Schaltfläche im Menü/Optionen/Ressourcenpakete im Einzelspielermodus,
  • beim Drücken der Tasten F3+T im Einzelspielermodus.

Installation und Deinstallation

Man kann in jeder Welt ein oder mehrere Datenpakete hinzufügen und die Daten dieser Welt dadurch verändern. Schritt für Schritt:

  1. Ein neues Datenpaket kann als zip-Datei aus dem Internet heruntergeladen oder als ungezipter Ordner selbst zusammengestellt werden.
  2. Im Menü/Einzelspieler wird eine Welt ausgewählt (nicht betreten) und die Schaltfläche „Bearbeiten“ gedrückt.
  3. Im Bearbeiten-Menü wird die Schaltfläche „Ordner öffnen“ gedrückt. Das öffnet den Weltordner dieser Welt.
  4. Doppelklick auf den Ordner datapacks öffnet den Datenpaket-Ordner.
  5. In diesen Ordner wird das neue Datenpaket (gezipt oder ungezipt) verschoben.
  6. Beim Betreten der Welt werden alle Datenpakete geladen.
  7. Nachträglich können sie auch mit dem Befehl /reload geladen werden.
  8. Mit dem Befehl /datapack list werden alle Datenpakete aufgelistet.
  9. Mit dem Befehl /datapack enable kann ein Datenpaket wieder aktiviert werden und die Reihenfolge der Datenpakete festgelegt werden.
  10. Mit dem Befehl /datapack disable kann ein Datenpaket dauerhaft deaktiviert werden.

Auch Serverwelten haben einen Ordner datapacks in ihrem Weltordner (der Weltordner ist in den server.properties festgelegt).

Die Standard-Weltdaten sind ebenfalls ein Datenpaket, es heißt vanilla.

Definitionsdatei

Die Datei pack.mcmeta steht direkt im Paket-Ordner. Sie speichert die allgemeinen Informationen für ein Datenpaket. Diese Datei ist für Minecraft das Erkennungszeichen, dass sich der Ordner, in dem sich die Datei befindet, ein Datenpaket-Ordner ist. Fehlt die Datei, wird der Ordner nicht als Datenpaket erkannt und erscheint nicht in der Auflistung bei dem Befehl /datapack list. Der Dateityp mcmeta bedeutet MineCraft Metadaten, es ist aber eine normale Textdatei im JSON-Format.

Je nach Dateiendungen nicht angezeigt, dann wird zwar als Dateiname pack.mcmeta sichtbar angezeigt, aber der volle Name lautet, wenn man mit einem Rechtsklick auf die Datei geht und auf Eigenschaften klickt, dann pack.mcmeta.txt, wodurch das Datenpaket nicht erkannt wird!

Die pack.mcmeta-Datei hat folgenden Aufbau:

  • Die namenlose Haupteigenschaft.
    • pack: Alle allgemeinen Informationen für das Datenpaket.
      • description: Die Beschreibung des Datenpaketes. Sie wird angezeigt, wenn man sich die Datenpakete mit dem Befehl /datapack list anzeigt und mit der Maus über einen Namen fährt. Die Beschreibung kann auch leer sein. Für die Darstellung von bunten Texten in dieser Beschreibung können Formatierungscodes verwendet werden.
      • pack_format: Das Format des Datenpaketes. Sollte sich mit einer zukünftigen Minecraft-Version das JSON-Format einer der Weltdaten ändern, erhöht sich die Paketformatnummer, um alte Datenpakete von neuen unterscheiden und eine Warnung ausgeben zu können.

Die Datenpaket-Datei .minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/pack.mcmeta sieht so aus:

{
  "pack": {
    "pack_format": 8,
    "description": "Mein Datenpaket"
  }
}

Aufbau

Ein Datenpaket muss einen bestimmten Aufbau haben, damit Minecraft die einzelnen Daten erkennen und laden kann:

  • Das komplette Paket muss in einem Ordner stehen. Der Name dieses Paket-Ordners wird mit dem Zusatz „file/“ durch den Befehl /datapack list angezeigt. Üblicherweise ist der Paket-Ordner eine komprimierte zip-Datei, er kann aber auch unkomprimiert sein.
  • In dem Paket-Ordner muss die Definitionsdatei pack.mcmeta stehen, die allgemeine Informationen des Paketes enthält. Fehlt diese Datei oder hat sie einen falschen Inhalt, wird das Datenpaket nicht erkannt.
  • Im Paket-Ordner muss ein Unterordner namens data existieren. Darin stehen die Weltdaten-Unterordner mit den jeweiligen Weltdaten. Alle Weltdaten-Unterordner und ihr Inhalt sind optional. Fehlt ein Weltdaten-Unterordner oder eine Weltdaten-Datei, wird sie aus den Minecraft Standard-Weltdaten geladen. Gibt es stattdessen einen zusätzlichen Unterordner oder eine zusätzliche Datei, hat das für Minecraft keine Bedeutung und wird ignoriert. Enthält eine Datei einen Syntaxfehler (Klammer fehlt, Komma zuviel, unbekannter ID-Name für einen Block oder Gegenstand etc.), wird sie ignoriert.
  • Zwar gehören die Minecraft-Konstruktionsvorlagen zu den Standard-Weltdaten, aber im Gegensatz zu anderen Standard-Weltdaten sind sie über ein Datenpaket nicht änderbar.

Aufbau des Paket-Ordners:

Funktionsweise

In Datenpaketen sind alle Daten optional. Fehlen dort Minecraft-Weltdaten, werden sie aus den Standard-Weltdaten geladen, die immer alle Minecraft-Weltdaten enthalten. Es ist aber auch möglich, mit dem Befehl /datapack disable vanilla die Standard-Weltdaten zu deaktivieren. Das hat weitreichende Auswirkungen (siehe hier).

Wenn für die Welt mehrere Datenpakete gespeichert sind, werden sie alle geladen. Mit dem Befehl /datapack enable kann ihre Reihenfolge festgelegt werden, wobei die Weltdaten eines späteren Paketes immer die Weltdaten der früheren Pakete überlagern.

Um Weltdaten zu ändern, kopiert man die entsprechende Standard-Weltdaten-Datei und verändert sie. Wenn man also z.B. nur die Drops des Creepers ändern möchte, kopiert man die Creeper-Beutetabelle und ändert darin die Drops. Die veränderte Datei wird dann in das Datenpaket gestellt:

  • Name des Datenpakets
    • pack.mcmeta: Die Definitionsdatei
    • data
      • minecraft
        • loot_tables
          • entities
            • creeper.json: Die Beutetabelle für die Creeper.

Geschichte

Versionsgeschichte der Java Edition
Vollversion 1.13
17w43a
  • Datenpakete hinzugefügt, bisher wurden geänderte Weltdaten im Unterordner /data abgelegt.
  • Beutetabellen (/loot_tables), Fortschrittsdaten (/advancements), Funktionen (/functions), Rezeptdaten (/recipes) und eigene Konstruktionsvorlagen (/structures) werden in Datenpaketen gespeichert.
17w46a
17w49a
Vollversion 1.15
19w38a
1.15-pre2
  • Die Versionsnummer wird von 1 auf 5 in pack.mcmeta geändert.
Vollversion 1.16.2 (1.16.2-rc1)
  • Die Versionsnummer wird auf 6 in pack.mcmeta geändert.
Vollversion 1.17
20w45a
  • Das Pack-Format in version.json wird in Daten- und Ressourcenversionen aufgeteilt.
20w46a
Vollversion 1.18 (21w37a)
  • Die Versionsnummer wird auf 8 in pack.mcmeta geändert.