Eigene Rezepte: geformt, formlos und Tags statt jeder Holzart einzeln
Ein geformtes Rezept, das nicht herstellt, hat meistens einen falschen Schlüssel. Hier ist das JSON, was das Spiel automatisch aus einem Muster entfernt, der Tag-Trick, der dreizehn Rezepte zu einem macht, und wie man es testet.
Rezepte gehören zu den am einfachsten zu schreibenden Datapack-Dateien und gleichzeitig zu denen, bei denen man am leichtesten subtil etwas falsch macht, denn ein kaputtes Rezept schlägt still fehl — das Handwerksraster tut einfach nichts.
Geformt
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Drei Regeln, die die meisten Fehler verursachen:
- Jedes Zeichen in
patternmuss inkeyexistieren, außer einem Leerzeichen, das leer bedeutet. - Das Muster ist relativ, nicht absolut. Das Spiel schneidet leere Zeilen und Spalten an den Rändern ab, also stellt ein 2×2, das mit Leerzeichen auf 3×3 aufgefüllt wurde, überall im Raster her — aber es als zwei Zeilen mit zwei Zeichen zu schreiben ist klarer.
- Alle Zeilen müssen gleich lang sein.
["SS", "S"]ist ungültig.
Formlos
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
Die Reihenfolge ist irrelevant. Duplikate müssen jeweils einmal aufgeführt werden — zwei Kohle bedeutet zwei Einträge.
Tags fassen eine ganze Familie in einem Rezept zusammen
Statt dreizehn Rezepten für dreizehn Holzarten:
"key": { "P": "#minecraft:planks" }
Das # kennzeichnet einen Item-Tag. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials und Dutzende mehr existieren bereits. Ein eigenes zu definieren braucht nur eine Datei:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Beachte tags/item/ — Singular item, Plural tags. Diese Inkonsistenz ist real.
Ergebnis mit Komponenten
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "Excalibur", "minecraft:enchantments": { "sharpness": 5 } }
}
So wird ein eigenes Item ohne Mod herstellbar.
Die anderen Rezepttypen
crafting_shaped und crafting_shapeless sind zwei von vielen. Ebenfalls verfügbar: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform und smithing_trim. Die Kochtypen nehmen cookingtime und experience; Steinschneiden nimmt eine einzige Zutat und eine Anzahl.
Testen
/reload, dann probiere das Raster aus. Wenn nichts passiert:
- Prüfe das Spiel-Log (
latest.log) nach/reload— fehlerhaftes JSON wird dort gemeldet, nicht im Chat. /recipe give @s <namespace>:<recipe>— wenn die Rezept-ID falsch ist, gibt dies einen Fehler aus, was dir sagt, dass die Datei überhaupt nicht gelesen wird.- Das Freischalten von Rezepten ist getrennt davon, ob ein Rezept existiert. Ein Rezept funktioniert im Raster, auch wenn es nie im Rezeptbuch erscheint.
Baue Rezept-, Prädikat- und Kit-JSON mit den Schlüsseln und Tags, die im Datapack JSON Builders geprüft werden.