Recettes personnalisées : avec forme, sans forme, et l'utilisation de tags au lieu de lister chaque bois
Une recette avec forme qui ne se fabrique pas a généralement une clé erronée ou un motif mal rempli. Voici le JSON, l'astuce des tags qui réduit huit recettes en une, et comment tester.
Les recettes sont parmi les fichiers de datapack les plus faciles à écrire et les plus faciles à rater subtilement, car une recette cassée échoue silencieusement — la grille de fabrication ne fait tout simplement rien.
Avec forme (Shaped)
{
"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 dans
patterndoit exister danskey, sauf un espace, qui signifie vide. - Le motif est relatif, pas absolu. Une recette 2×2 doit être écrite comme deux lignes de deux, et non remplie en 3×3 avec des espaces. Le remplissage la rendra fabricable uniquement dans ce coin exact de la grille.
- Toutes les lignes doivent avoir la même longueur.
["SS", "S"]est invalide.
Sans forme (Shapeless)
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
L'ordre est sans importance. Les doublons doivent être listés une fois chacun — deux Charbon signifie deux entrées.
Les tags réduisent une famille à une seule recette
Au lieu de huit recettes pour huit types de planches :
"key": { "P": "#minecraft:planks" }
Le # marque un tag d'objet (item tag). #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials et des dizaines d'autres existent déjà. Définir le vôtre nécessite un 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 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 (stonecutting) prend un seul ingrédient et un nombre.
Test
/reload puis essayez la grille. Si rien ne se passe :
- Vérifiez le chat au rechargement — le JSON malformé y est signalé.
/recipe give @s <namespace>:<recipe>— si l'ID de la recette est incorrect, cela génère une erreur, ce qui
vous indique que le fichier n'est pas lu du tout.
- Le déverrouillage de la recette est distinct de l'existence de la recette. Une recette fonctionne dans la grille même si
elle n'apparaît jamais dans le Livre de recettes.
Construisez les JSON de recette, de prédicat et de kit avec les clés et les tags vérifiés dans les Datapack JSON Builders.