Recettes personnalisées : avec forme, sans forme, et l'usage des tags au lieu de lister chaque bois
Une recette avec forme qui ne se fabrique pas a généralement une clé erronée. Voici le JSON, ce que le jeu retire automatiquement d'un motif, l'astuce des tags qui réduit treize recettes à une seule, et comment tester.
Les recettes comptent parmi les fichiers de datapack les plus faciles à écrire et parmi les plus faciles à rater subtilement, car une recette cassée échoue en silence — la grille de fabrication ne fait simplement rien.
Avec forme
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Trois règles qui causent la plupart des échecs :
- Chaque caractère de
patterndoit exister danskey, sauf un espace, qui signifie vide. - Le motif est relatif, pas absolu. Le jeu retire les lignes et colonnes vides sur les bords, donc un 2×2 complété en 3×3 avec des espaces se fabrique quand même n'importe où dans la grille — mais l'écrire sous forme de deux lignes de deux est plus clair.
- Les lignes doivent toutes avoir la même longueur.
["SS", "S"]est invalide.
Sans forme
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
L'ordre n'a pas d'importance. Les doublons doivent être listés une fois chacun — deux charbons signifie deux entrées.
Les tags réduisent une famille à une seule recette
Au lieu de treize recettes pour treize types de planches :
"key": { "P": "#minecraft:planks" }
Le # marque un tag d'objet. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials et des dizaines d'autres existent déjà. Définir le vôtre prend un seul fichier :
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Notez tags/item/ — singulier item, pluriel tags. Cette incohérence est bien réelle.
Résultat avec composants
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "Excalibur", "minecraft:enchantments": { "sharpness": 5 } }
}
C'est ainsi qu'un objet personnalisé devient fabricable sans mod.
Les autres types de recettes
crafting_shaped et crafting_shapeless sont deux parmi tant d'autres. Également disponibles : smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform et smithing_trim. Les types de cuisson prennent cookingtime et experience ; la taille de pierre prend un seul ingrédient et une quantité.
Tester
/reload puis essayez la grille. Si rien ne se passe :
- Vérifiez le journal du jeu (
latest.log) après/reload— le JSON malformé y est signalé, pas dans le chat. /recipe give @s <namespace>:<recipe>— si l'id de la recette est erroné, cela produit une erreur, ce qui vous indique que le fichier n'est pas lu du tout.- Le déblocage des recettes est distinct de l'existence des recettes. Une recette fonctionne dans la grille même si elle n'apparaît jamais dans le livre de recettes.
Construisez le JSON de recette, de prédicat et de kit avec les clés et tags vérifiés dans le Datapack JSON Builders.