Recetas personalizadas: con forma, sin forma y usando etiquetas en lugar de listar cada madera
Una receta con forma que no se craftea suele tener la clave incorrecta o el patrón mal rellenado. Aquí tienes el JSON, el truco de las etiquetas que reduce ocho recetas a una, y cómo probarlas.
Las recetas se encuentran entre los archivos de datapack más fáciles de escribir y, a la vez, los más fáciles de equivocarse sutilmente, porque una receta rota falla silenciosamente: la cuadrícula de crafteo simplemente no hace nada.
Con forma (Shaped)
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Tres reglas que causan la mayoría de los fallos:
- Cada carácter en
patterndebe existir enkey, excepto un espacio, que significa vacío. - El patrón es relativo, no absoluto. Una receta de 2×2 debe escribirse como dos filas de dos, no rellenada a 3×3 con espacios. Rellenar hace que solo se pueda craftear en esa esquina exacta de la cuadrícula.
- Todas las filas deben tener la misma longitud.
["SS", "S"]no es válido.
Sin forma (Shapeless)
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
El orden es irrelevante. Los duplicados deben listarse una vez cada uno: dos Carbón significan dos entradas.
Las etiquetas colapsan una familia en una sola receta
En lugar de ocho recetas para ocho tipos de tablas:
"key": { "P": "#minecraft:planks" }
El # marca una etiqueta de objeto (item tag). #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials y docenas más ya existen. Definir las tuyas propias requiere un archivo:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Nota tags/item/ — singular item, plural tags. Esa inconsistencia es real.
Resultado con componentes
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "\"Excalibur\"", "minecraft:enchantments": { "sharpness": 5 } }
}
Así es como un objeto personalizado se vuelve crafteable sin un mod.
Los otros tipos de recetas
crafting_shaped y crafting_shapeless son dos de muchos. También disponibles: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform y smithing_trim. Los tipos de cocción (cooking types) usan cookingtime y experience; el corte de piedra (stonecutting) usa un solo ingrediente y una cantidad.
Pruebas
/reload y luego prueba la cuadrícula. Si no pasa nada:
- Revisa el chat al recargar: el JSON mal formado se reporta allí.
/recipe give @s <namespace>:<recipe>— si el ID de la receta es incorrecto, esto da un error, lo que
indica que el archivo no se está leyendo en absoluto.
- El desbloqueo de recetas es independiente de la existencia de la receta. Una receta funciona en la cuadrícula incluso si
nunca aparece en el Libro de recetas.
Crea JSON de recetas, predicados y kits con las claves y etiquetas verificadas en los Datapack JSON Builders.