Minecraft Wiki
Registrieren
Advertisement

Die Rezeptdaten enthalten alle Rezepte des Spiels. Die Daten dienen zur Ausübung des Handwerks, des Erhitzens, des Aufwertens und Verzierens sowie zur Anzeige im Rezeptbuch.

Herkunft[]

  • minecraft.jar: Die Original-Rezeptdaten stehen in minecraft.jar.
    • data: Die Standard-Weltdaten.
      • minecraft: Die Minecraft-Standard-Ressourcen.
        • recipes: Die Rezeptdaten.

Änderbarkeit[]

Die Original-Rezeptdaten gehören zu den Standard-Weltdaten und werden mit Datenpaketen geändert. Der Befehl /datapack disable vanilla deaktiviert die Standard-Weltdaten. Damit kann man auch keine Rezepte mehr anwenden. Allerdings hat das auch weitere Auswirkungen (siehe hier).

Die Rezeptdaten haben den Dateityp .json (JavaScript Object Notation), sind aber ganz normale Textdateien, die mit jedem Texteditor gelesen und verändert werden können.

Rezeptdaten ändern[]

Um ein Rezept zu ändern, platziert man die entsprechende Datei mit dem richtigen Namen im richtigen Ordner. Das bedeutet, man muss nicht alle Rezeptdaten kopieren, sondern nur die, die man verändert hat. Im Minimalfall ist das nur eine einzige Datei. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/minecraft/recipes/bucket.json

Nach dem nächsten Spielstart oder nach dem Befehl /reload werden die geänderten Rezeptdaten angewendet. Im Beispiel ändert sich das Eimer-Rezept.

Um ein Rezept zu löschen, kopiert man es in ein Datenpaket und entfernt die result-Eigenschaft.

Komplett neues Rezept hinzufügen[]

Man kann auch beliebige eigene Rezepte hinzufügen. Dies ist nicht nur für Blöcke und Gegenstände möglich, für die es noch kein Rezept gibt, sondern man kann auch zu einem Block- oder Gegenstand-Rezept alternative Rezepte anlegen (Beispiel in den Originaldaten: bone_meal_from_bone.json, bone_meal_from_bone_block.json). Neue Blöcke oder Gegenstände können jedoch nicht erfunden werden, das ist nur mit Modifikationen möglich.

Eigene Rezeptdaten hinterlegt man idealerweise in einem eigenen Namensraum, um sie deutlich von den Minecraft-Rezeptdaten zu unterscheiden. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/eigener-namensraum/recipes/eigenes-rezept.json

Die Eindeutigkeit eines Rezeptes ergibt sich weder durch den Namen der Rezeptdatei (der kann beliebig sein) noch durch das Ergebnis (es darf alternative Rezepte mit gleichem Ergebnis geben), sondern durch die Zutaten und ihre Anordnung. Hat man in einem Datenpaket mehrere Rezepte mit identischen Zutaten in identischer Anordnung, beachtet das Spiel davon nur die alphabetisch erste Rezeptdatei.

Nach dem nächsten Spielstart oder nach dem Befehl /reload können die geänderten Rezepte angewendet werden. Neue Rezepte erscheinen aber nicht automatisch im Rezeptbuch, wenn die Zutat ins Inventar kommt. Dazu müssen zusätzlich die passenden Rezept-Fortschritte in den Fortschrittsdaten angelegt werden. Oder die neuen Rezepte werden mit dem Befehl /recipe give @p eigener-namensraum:eigenes-rezept für das Rezeptbuch freigeschaltet.

Funktionsweise[]

Sobald man einen bestimmten Block oder Gegenstand in sein Inventar bekommt, werden alle Rezepte freigeschaltet, die ihn als Zutat haben. Wann ein Rezept freigeschaltet wird, ist jedoch nicht in den Rezeptdaten, sondern in den Fortschrittsdaten hinterlegt. Das Freischalten eines Rezeptes bestimmt, ob es im Rezeptbuch enthalten ist. Dort werden die freigeschalteten Rezepte in der Kategorie und dem Aussehen angezeigt, wie es in den Rezeptdaten hinterlegt ist. Klickt man ein Rezept im Rezeptbuch an, werden die Zutaten genau so im Rezeptfeld angezeigt, wie sie in den Rezeptdaten hinterlegt sind, auch wenn eine andere Anordnung möglich ist.

Um ein Rezept anwenden zu können, muss es nicht freigeschaltet (= im Rezeptbuch enthalten) sein, denn das ist lediglich eine Hilfe, um neue Rezepte kennenzulernen. Voraussetzung für die Anwendung eines Rezeptes ist nur die Existenz einer entsprechenden Rezeptdatei. Wenn ein Block oder Gegenstand in keiner Rezeptdatei als Ergebnis enthalten ist, kann man ihn auch nicht herstellen.

Beim Ablegen von Blöcken oder Gegenständen in ein Handwerksfeld (Spielerinventar oder Werkbank) prüft das Spiel, ob Zutaten und Anordnung zu einem Rezept passen. Wenn ja, wird das Ergebnis mit der entsprechenden Anzahl angezeigt. Diese Prüfung geschieht bei jeder Änderung im Handwerksfeld, so dass sich beim Hinzufügen von weiteren Zutaten das Ergebnis nochmal ändern kann. Bei Ofenrezepten erfolgt ebenfalls eine Prüfung: Nur wenn eine gültige Zutat erkannt wird, beginnt bei Hinzufügung von Brennstoff der Erhitzungsvorgang.

Datenstruktur[]

Handwerksrezept[]

  • Die namenlose Haupteigenschaft.
    • type: Es gibt zwei Typen von Handwerksrezepten:
      crafting_shaped sind Rezepte mit einem bestimmten Muster,
      crafting_shapeless sind formlose Rezepte, deren Zutaten beliebig angeordnet werden können.
      Im Handwerksfeld ist dabei kein Unterschied zu sehen, daher spielt es keine Rolle, dass Rezepte mit nur einer einzigen Zutat in den Rezeptdaten manchmal formlos sind und manchmal nicht. Das Minecraft Wiki kennzeichnet dagegen formlose Rezepte mit Grid Layout Formlos nur dann, wenn es unterschiedliche Zutaten hat.
    • category: Optional die Kategorie des Rezeptes. Sie bestimmt, in welchem Tab das Rezept im Rezeptbuch zu sehen ist. Zur Auswahl stehen:
      equipment für den Eisenaxt und Goldschwert-Tab,
      building für den Ziegelstein-Tab,
      misc für den Lavaeimer und Apfel-Tab (Standard) und
      redstone für den Redstone-Tab.
    • group: Optional ein beliebiger Text für eine Gruppe gleichartiger Rezepte, die im Rezeptbuch zusammen als ein einziges Rezept angezeigt werden, das man rechtsklicken kann, um die Einzelrezepte zu sehen. Funktioniert nur, wenn die category-Eigenschaft der Rezepte identisch ist (Auch im "Alle Anzeigen"-Tab). Beispiele: Es wird nur ein einziges Rezept für die Gruppe der Boote angezeigt. Auch für das Knochenmehl-Rezept gibt es eine Gruppe, da es auf zwei Arten hergestellt werden kann.
    • pattern: Das Muster für Rezepte vom Typ "crafting_shaped".
      • Eine Musterzeile. Ein Muster muss mindestens eine Zeile haben, maximal drei. Eine Musterzeile muss mindestens ein Zeichen enthalten, maximal drei. Das Spiel verwendet als Standardzeichen "#", aber man kann jedes Zeichen verwenden. Gibt es mehrere Musterzeilen, müssen sie alle gleich lang sein. Ein Leerzeichen steht für ein Feld, in das keine Zutat gelegt werden darf. Rezepte mit drei Musterzeilen oder mit drei Musterzeichen in einer Zeile werden nur in der Werkbank angezeigt.
    • key: Die Zuordnung der Gegenstände zu den Musterzeichen. Jedes Zeichen, das im Muster vorkommt, ist ein Objekt.
      • Musterzeichen: Der Name ist das Musterzeichen selbst. Das Leerzeichen als Name ist nicht erlaubt. Liste der Gegenstände, für die das Musterzeichen steht. Normalerweise ist das nur genau ein Gegenstand, dann wird die Liste weggelassen. Das Musterzeichen kann aber auch für mehrere Alternativen stehen, wie z. B. alle Holzbretter im Holzschaufel-Rezept.
        • Gegenstand, für den das Musterzeichen steht
          • item: ID-Name des Blockes oder des Gegenstandes.
          • tag: Alternativ zu item kann hier ein Alias für einen oder mehrere ID-Namen angegeben werden. Beispiel: Im Rezept bookshelf.json wird der Alias minecraft:planks verwendet, der alle Holzbretter enthält. Somit kann man Bücherregale aus allen Holzbretterarten herstellen, auch in beliebiger Mischung.
    • ingredients: Die Zutaten für Rezepte vom Typ "crafting_shapeless". Sie werden im Handwerksfeld oben links beginnend in der angegebenen Reihenfolge nacheinander dargestellt. Rezepte mit mehr als vier Zutaten werden nur in der Werkbank angezeigt.
      • Alternative Gegenstände für eine Zutat. Normalerweise ist das nur genau ein Gegenstand, dann wird die Liste weggelassen. Eine Zutat kann aber auch aus mehreren Alternativen bestehen, z. B. die Kohle-Zutat im Feuerkugel-Rezept: Steinkohle oder Holzkohle.
        • Eine Zutat.
          • item: ID-Name des Blockes oder Gegenstandes.
          • tag: Alternativ zu item kann hier ein Alias für einen oder mehrere ID-Namen angegeben werden.
    • result: Das Ergebnis der Herstellung.
      • item: ID-Name des Blockes oder Gegenstandes.
      • count: Optional die Anzahl. Wenn sie weggelassen wird, ist sie automatisch 1.

Spezielles Handwerksrezept[]

Manche Handwerksrezepte können nicht auf die normale Weise realisiert werden, weil das Ausgangsprodukt zum Beispiel NBT-Daten enthält. Solche Rezepte sind fest im Quellcode verankert und können in den Rezeptdaten lediglich aktiviert werden. Dies ist zum Beispiel nützlich, wenn man zuvor sie mit einem Filter deaktiviert hat.

Steinsägerezept[]

  • Die namenlose Haupteigenschaft
    • type: Steinsägerezepte besitzen den folgenden Typ: stonecutting
    • ingredient: Das Ausgangsprodukt.
    • result: ID-Name des Ergebnisses der Herstellung.
    • count: Optional die Anzahl des Ergebnisses. Wenn sie weggelassen wird, ist sie automatisch 1.

Schmiedetischaufwertungsrezept[]

  • Die namenlose Haupteigenschaft
    • type: Schmiedetischaufwertungsrezepte besitzen den folgenden Typ: smithing_upgrade
    • template: Die Vorlage zum Aufwerten. Dies muss keine Schmiedevorlage sein.
      • item: ID-Name der Vorlage.
    • base: Der Gegenstand, der aufgewertet werden soll.
    • addition: Der Gegenstand, der zum Aufwerten verwendet wird.
    • result: Der aufgewertete Gegenstand
      • item: ID-Name des Ergebnisses der Herstellung.
      • count: Optional die Anzahl. Wenn sie weggelassen wird, ist sie automatisch 1.

Schmiedetischverzierungsrezept[]

  • Die namenlose Haupteigenschaft
    • type: Schmiedetischverzierungsrezepte besitzen den folgenden Typ: smithing_trim
    • template: Die Vorlage zum Verzieren. Dies muss keine Schmiedevorlage sein.
      • item: ID-Name der Vorlage.
    • base: Der Gegenstand, der verziert werden soll.
    • addition: Der Gegenstand, der als Material zum Verzieren verwendet wird.

Ofenrezept[]

  • Die namenlose Haupteigenschaft.
    • type: Für Ofenrezepte gibt es folgende Typen:
      smelting für normale Ofen-Rezepte,
      blasting für Rezepte für den Schmelzofen,
      smoking für Rezepte für den Räucherofen,
      campfire_cooking für Lagerfeuer-Rezepte
    • category: Optional die Kategorie des Ofenrezepts (Wie bei den Handwerksrezepten). Zur Auswahl stehen hier:
      food für den rohes Schweinefleisch-Tab,
      blocks für den Stein-Tab und
      misc für den Lavaeimer und Smaragd-Tab (Standard)
    • group: Optional ein beliebiger Text für eine Gruppe gleichartiger Rezepte im Rezeptbuch, wie bei Handwerksrezepten
    • ingredient: Alternative Zutaten für ein Ofenrezept. Normalerweise ist das nur genau ein Gegenstand, dann wird die Liste weggelassen.
    • result: ID-Name des Ergebnisses der Herstellung.
    • experience: Anzahl der Erfahrungspunkte für die Herstellung.
    • cookingtime: Erhitzungszeit in Ticks (je Anwendung des Rezepts). Wird diese Angabe weggelassen, so wird der Standardwert 200 (entspricht 10 Sekunden) für den Typ smelting und 100 für die anderen Rezept-Typen verwendet. Alle Lagerfeuer-Rezepte in den Standard-Weltdaten verwenden jedoch den Wert 600.

Beispiele[]

Das Rezept red_bed.json:

{
  "type": "crafting_shaped",
  "group": "bed",
  "pattern": [
    "###",
    "XXX"
  ],
  "key": {
    "#": {
      "item": "minecraft:red_wool"
    },
    "X": {
      "tag": "minecraft:planks"
    }
  },
  "result": {
    "item": "minecraft:red_bed"
  }
}

Das Rezept hat ein Muster ("crafting_shaped") und gehört zur Gruppe der Betten, zu der die Betten aller 16 Farben gehören. Das Muster hat zwei Zeilen mit zwei unterschiedlichen Zeichen: Das "#" steht für rote Wolle, das "X" steht für den Alias planks (Bretter). In den Aliasdaten ist hinterlegt, dass das alle Holzbretterarten sind. Durch Verwendung des Alias kann man an jeder X-Stelle ein Brett in beliebiger Holzart einsetzen. Das Ergebnis ist ein rotes Bett.

Das Rezept fire_charge.json:

{
  "type": "crafting_shapeless",
  "ingredients": [
    {
      "item": "minecraft:gunpowder"
    },
    {
      "item": "minecraft:blaze_powder"
    },
    [
      {
        "item": "minecraft:coal"
      },
      {
        "item": "minecraft:charcoal"
      }
    ]
  ],
  "result": {
    "item": "minecraft:fire_charge",
    "count": 3
  }
}

Das Rezept ist formlos ("crafting_shapeless"). Es gibt drei Zutaten: Schwarzpulver, Lohenstaub und Kohle (entweder Steinkohle oder Holzkohle). Das Ergebnis sind drei Feuerkugeln.

Das Rezept glass.json:

{
  "type": "smelting",
  "ingredient": {
    "tag": "minecraft:sand"
  },
  "result": "minecraft:glass",
  "experience": 0.1,
  "cookingtime": 200
}

Das ist ein Ofenrezept, mit dem aus Sand zu Glas geschmolzen wird. Die Zutaten sind ein Block-Alias, der für Sand und roten Sand steht.

Geschichte[]

Versionsgeschichte der Java Edition
Vollversion 1.12
17w13a
  • Rezeptdaten hinzugefügt.
17w16a
  • Eigenschaft group wird hinzugefügt, um ähnliche Rezepte zu verbinden.
Vollversion 1.13
17w47a
  • Metadaten-Entfernung: Blöcke und Gegenstände haben zur Identifizierung keine Metadaten mehr.
  • Viele Blöcke und Gegenstände erhalten neue ID-Namen, die Namen der Rezeptdateien werden entsprechend angepasst.
17w48a
  • Benutzerdefinierte Rezepte können in einem Datenpaket eingefügt werden.
17w49a
18w06a
  • Rezepte fürs Erhitzen werden in Rezeptdaten ausgelagert.
Vollversion 1.14
19w02a
  • Mit campfire können Lagerfeuer-Rezepte angelegt werden.
Vollversion 1.19.3 (22w42a)
  • Mit der neuen Eigenschaft category kann der Tab des Rezeptbuches, in dem Handwerks- und Ofenrezepte erscheinen, gesteuert werden.
Vollversion 1.19.4 (23w04a)
Vollversion 1.20 (1.20-pre6)
  • "item":"minecraft:air" kann nicht mehr in Datenpaket-Rezepten verwendet werden.
  • Zutaten in Arrayform sind auch in smithing_trim und smithing_transform-Rezepten auf den Felder-Vorlagen, Basis und Zusatz erlaubt.
Advertisement