Confirmedusers
9,523
edits
No edit summary |
(Created page with "=== Copia de atributos === Algunas recetas pueden requerir copiar atributos. Esto se puede hacer añadiendo <code>copyAttributesFrom</code>. Esta es la receta para la caja etiquetada: <syntaxhighlight lang="json"> { ingredientPattern: "S,C", ingredients: { "S": { type: "item", code: "paper-parchment" }, "C": { type: "block", code: "crate" } }, shapeless: true, copyAttributesFrom: 'C', width: 1, height: 2, output: { type: "block", code: "crate", attributes:...") |
||
(18 intermediate revisions by the same user not shown) | |||
Line 64: | Line 64: | ||
Esto haría que el pico pierda uno de durabilidad durante la elaboración, en lugar de consumir todo el pico a la vez. | Esto haría que el pico pierda uno de durabilidad durante la elaboración, en lugar de consumir todo el pico a la vez. | ||
=== | === Salida === | ||
Todavía tenemos que definir la salida, que es bastante similar a la definición de los ingredientes: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
output: { type: "item", code: "wand-pickaxe"} | output: { type: "item", code: "wand-pickaxe"} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Teóricamente, también podríamos añadir aquí la propiedad <code>quantity</code>. | |||
== | == Distribución == | ||
Este es el aspecto de nuestra receta final: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
Line 90: | Line 90: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Para añadir esas recetas de fabricación a tu mod, tienes que crear otra carpeta en tu espacio de trabajo <code>assets/mivaritaavanzada/recipes/grid/</code> y copiar los archivos ahí. | |||
Puedes descargar el mod completo incluyendo los items (Pre 1.15)[[Media:MyWandRecipe.zip|aquí]]. | |||
== | == Advanzado == | ||
=== | === Recetas basadas en tipos === | ||
Hay cosas más complicadas que se pueden hacer con las recetas. Esta es la receta de los tablones de madera que se fabrican con troncos: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 111: | Line 111: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
En lugar de tener una receta para cada tipo de madera, puede asignar un nombre a un ingrediente (en este caso es <code>name: "wood"</code>) y todo lo identificado por <code>*</code> será posteriormente sustituido para la salida. Es decir, <code>{wood}</code> se sustituirá por el tipo de leña que se dé. | |||
Por ejemplo si tuviéramos un bloque de troncos de abedul, su código sería <code>log-birch-ud</code>, por lo que <code>*</code> significaría <code>birch</code>(abedul), por lo tanto la salida se convertirá de <code>code: "planks-{wood}-hor"</code> a <code>code: "planks-birch-hor"</code>. | |||
=== | === Convertir un ingrediente en otro objeto al fabricarlo === | ||
A veces querrás conservar uno o varios ingredientes, pero convertirlos en un objeto diferente después de fabricarlo. Por ejemplo, para fabricar una cataplasma de miel y azufre, el jugador necesita un cuenco lleno de miel, pero el cuenco no se consume para fabricarla. El cuenco de miel se convierte en un cuenco vacío. Esto se consigue añadiendo la propiedad <code>returnedStack</code> al ingrediente. El valor de esta propiedad debe contener un <code>type</code> y un <code>code</code>, al igual que las propiedades estándar de los ingredientes. Esto le indica a la receta qué elemento debe devolver al jugador. | |||
Siguiendo con el ejemplo de la cataplasma de miel y azufre, un cuenco de miel como ingrediente tiene el siguiente aspecto <code>"B": { type: "block", code: "bowl-honey" }</code>, pero el jugador perdería el cuenco si la receta estuviera escrita así. Tenemos que añadir <code>returnedStack</code> a las propiedades del ingrediente e indicar con qué elemento reemplazarlo. En este caso, el jugador debería recibir un cuenco vacío en lugar del cuenco de miel <code>returnedStack: { type: "block", code: "bowl-burned" }</code>. Esta propiedad se coloca junto a las propiedades <code>type</code> y <code>code</code> de un ingrediente. Poniéndolo todo junto: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 137: | Line 137: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Consumir más durabilidad por herramienta === | ||
Para equilibrar la durabilidad que consume, se puede hacer mediante la adición de <code>toolDurabilityCost</code> y <code>isTool</code>. Esta es la receta para el mazo de pulverizador: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 153: | Line 153: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Separar recetas en la misma página del manual === | ||
A veces la cantidad de recetas para un artículo puede llegar a ser abrumadora, para separar las importantes, se puede hacer mediante la adición de <code>recipeGroup</code>. Estas son las recetas para la escalera de madera: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 178: | Line 178: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Restringir a una clase específica === | ||
La receta puede limitarse a una [[Classes/es|clase]] específica. Esto se puede hacer añadiendo <code>requiresTrait</code>. Esta es la receta para el kit de costura: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 194: | Line 194: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Copia de atributos === | ||
Algunas recetas pueden requerir copiar atributos. Esto se puede hacer añadiendo <code>copyAttributesFrom</code>. Esta es la receta para la caja etiquetada: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { |