Modding:Creating Recipes/ru: Difference between revisions

From Vintage Story Wiki
no edit summary
No edit summary
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 6: Line 6:
== Основы ==
== Основы ==


Давайте создадим рецепт для нашей палочки, который мы добавили в руководстве [[Basic Item/ru|основа предмета]]. Другие рецепты можно найти в <code>assets/survival/recipes/</code>.
Давайте создадим рецепт для нашей палочки, который мы добавили в руководстве {{ll|Modding:Basic Item|nsp=1}}. Другие рецепты можно найти в <code>assets/survival/recipes/</code>.


=== Шаблон ингредиентов ===
=== Шаблон ингредиентов ===
Line 91: Line 91:
Чтобы добавить эти рецепты для крафта в ваш мод, вам нужно создать еще одну папку в вашем рабочем пространстве <code>assets/myadvancedwand/recipes/grid/</code> и скопировать туда файлы.
Чтобы добавить эти рецепты для крафта в ваш мод, вам нужно создать еще одну папку в вашем рабочем пространстве <code>assets/myadvancedwand/recipes/grid/</code> и скопировать туда файлы.


<div class="mw-translate-fuzzy">
Вы можете скачать полный мод, включая предметы (Pre 1.15)[[Media:MyWandRecipe.zip|здесь]].
Вы можете скачать полный мод, включая предметы [[Media:MyWandRecipe.zip|здесь]].
</div>


== Продвинутые рецепты ==
== Продвинутые рецепты ==
Line 99: Line 97:
=== Типовые рецепты ===
=== Типовые рецепты ===


<div class="mw-translate-fuzzy">
Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок, которые сделаны из бревен:
Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок, которые сделаны из бревен:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
Line 109: Line 106:
width: 1,
width: 1,
height: 1,
height: 1,
output: { type: "block", code: "planks-{wood}", quantity: 4  }
output: { type: "block", code: "planks-{wood}-hor", quantity: 4  }
}
}
</syntaxhighlight>
</syntaxhighlight>
</div>


Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту (в данном случае это <code>name: "wood"</code>), и все обозначенное <code>*</code>, позже будет заменено на выходе. Значение <code>{wood}</code> будет заменено типом используемого дерева.
Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту (в данном случае это <code>name: "wood"</code>), и все обозначенное <code>*</code>, позже будет заменено на выходе. Значение <code>{wood}</code> будет заменено типом используемого дерева.


<div class="mw-translate-fuzzy">
Например, если бы у нас был блок бревна березы, его код был бы <code>log-birch-ud</code>, поэтому <code>*</code> будет означать <code>birch</code>, поэтому выходные данные будут преобразованы из <code>code: "planks-{wood}-hor"</code> в <code>code: "planks-birch-hor"</code>.
Например, если бы у нас был блок бревна березы, его код был бы <code>log-birch-ud</code>, поэтому <code>*</code> будет означать <code>birch</code>, поэтому выходные данные будут преобразованы из <code>code: "planks-{wood}"</code> в <code>code: "planks-birch"</code>.
</div>


<div class="mw-translate-fuzzy">
=== Преобразование ингредиента в другой предмет при создании ===
{{Navbox/modding|Vintage Story}}
Иногда вы хотите сохранить один или несколько ингредиентов, но преобразовать их в другой предмет после создания. Например, при изготовлении медово-серной припарки игроку нужна чаша, наполненная медом, но чаша не расходуется для ее изготовления. Вместо этого чаша с медом превращается в пустую чашу. Для этого к ингредиенту добавляется свойство <code>returnedStack</code>. Значение этого свойства должно содержать <code>type</code> и <code>code</code>, как и стандартные свойства ингредиента. Это говорит рецепту, какой предмет вернуть игроку.
</div>


Continuing with the honey-sulfur poultice example, a bowl of honey as an ingredient looks like <code>"B": { type: "block", code: "bowl-honey" }</code>, but the player would lose the bowl if the recipe were written this way. We need to add <code>returnedStack</code> to the ingredient's properties and indicate which item to replace it with. In this case, the player should receive an empty bowl in place of the bowl of honey <code>returnedStack: { type: "block", code: "bowl-burned" }</code>. This property is placed alongside the <code>type</code> and <code>code</code> properties of an ingredient. Putting it all together:
Продолжая пример медово-серной припарки, чаша меда в качестве ингредиента выглядит как <code>"B": { type: "block", code: "bowl-honey" }</code>, но игрок проиграет чаша, если рецепт был написан таким образом. Нам нужно добавить <code>returnedStack</code> в свойства ингредиента и указать, каким элементом его заменить. В этом случае игрок должен получить пустую миску вместо миски с медом <code>returnedStack: { type: "block", code: "bowl-burned" }</code>. Это свойство размещается рядом со свойствами <code>type</code> и <code>code</code> ингредиента. Собираем все вместе:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Line 143: Line 136:
</syntaxhighlight>
</syntaxhighlight>


=== Consuming more than one durability per tool ===
=== Расходует более одной прочности на инструмент ===
To balance durability consuming, it can be done by adding <code>toolDurabilityCost</code> and <code>isTool</code>. This is recipe for pulverizer pounder:
Чтобы сбалансировать потребление долговечности, это можно сделать, добавив <code>toolDurabilityCost</code> и <code>isTool</code>. Это рецепт измельчителя:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Line 159: Line 152:
</syntaxhighlight>
</syntaxhighlight>


=== Separating recipes on the same handbook page ===
=== Разделение рецептов на одной странице справочника ===
Sometimes amount of recipes for one item can become overwhelming, to separate important ones, it can be done by adding <code>recipeGroup</code>. These are recipes for wooden ladder:
Иногда количество рецептов для одного предмета может стать огромным, чтобы отделить важные, это можно сделать, добавив <code>recipeGroup</code>. Это рецепты деревянной лестницы:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Line 184: Line 177:
</syntaxhighlight>
</syntaxhighlight>


=== Restricting to a specific class  ===
=== Ограничение определенным классом ===
The recipe can be limited to a specific [[Classes|class]]. This can be done by adding <code>requiresTrait</code>. This is recipe for sewing kit:
Рецепт может быть ограничен определенным [[Classes/ru|классом]]. Это можно сделать, добавив <code>requiresTrait</code>. Это рецепт набора для шитья:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Line 200: Line 193:
</syntaxhighlight>
</syntaxhighlight>


=== Copying attributes  ===
=== Копирование атрибутов ===
Some recipes can require to copy attributes. This is can be done by adding <code>copyAttributesFrom</code>. This is recipe for labeled crate:
Некоторые рецепты могут потребовать копирования атрибутов. Это можно сделать, добавив <code>copyAttributesFrom</code>. Это рецепт для ящика с надписью:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Confirmedusers
1,783

edits