Confirmedusers
1,783
edits
Mirotworez (talk | contribs) No edit summary |
No edit summary |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
== Основы == | == Основы == | ||
Давайте создадим рецепт для нашей палочки, который мы добавили в руководстве | Давайте создадим рецепт для нашей палочки, который мы добавили в руководстве {{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> и скопировать туда файлы. | ||
Вы можете скачать полный мод, включая предметы (Pre 1.15)[[Media:MyWandRecipe.zip|здесь]]. | |||
Вы можете скачать полный мод, включая предметы [[Media:MyWandRecipe.zip|здесь]]. | |||
== Продвинутые рецепты == | == Продвинутые рецепты == | ||
Line 99: | Line 97: | ||
=== Типовые рецепты === | === Типовые рецепты === | ||
Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок, которые сделаны из бревен: | Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок, которые сделаны из бревен: | ||
<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> | ||
Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту (в данном случае это <code>name: "wood"</code>), и все обозначенное <code>*</code>, позже будет заменено на выходе. Значение <code>{wood}</code> будет заменено типом используемого дерева. | Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту (в данном случае это <code>name: "wood"</code>), и все обозначенное <code>*</code>, позже будет заменено на выходе. Значение <code>{wood}</code> будет заменено типом используемого дерева. | ||
Например, если бы у нас был блок бревна березы, его код был бы <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>. | |||
=== Преобразование ингредиента в другой предмет при создании === | |||
Иногда вы хотите сохранить один или несколько ингредиентов, но преобразовать их в другой предмет после создания. Например, при изготовлении медово-серной припарки игроку нужна чаша, наполненная медом, но чаша не расходуется для ее изготовления. Вместо этого чаша с медом превращается в пустую чашу. Для этого к ингредиенту добавляется свойство <code>returnedStack</code>. Значение этого свойства должно содержать <code>type</code> и <code>code</code>, как и стандартные свойства ингредиента. Это говорит рецепту, какой предмет вернуть игроку. | |||
</ | |||
Продолжая пример медово-серной припарки, чаша меда в качестве ингредиента выглядит как <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> | ||
=== | === Расходует более одной прочности на инструмент === | ||
Чтобы сбалансировать потребление долговечности, это можно сделать, добавив <code>toolDurabilityCost</code> и <code>isTool</code>. Это рецепт измельчителя: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 159: | Line 152: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Разделение рецептов на одной странице справочника === | ||
Иногда количество рецептов для одного предмета может стать огромным, чтобы отделить важные, это можно сделать, добавив <code>recipeGroup</code>. Это рецепты деревянной лестницы: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 184: | Line 177: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Ограничение определенным классом === | ||
Рецепт может быть ограничен определенным [[Classes/ru|классом]]. Это можно сделать, добавив <code>requiresTrait</code>. Это рецепт набора для шитья: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Line 200: | Line 193: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Копирование атрибутов === | ||
Некоторые рецепты могут потребовать копирования атрибутов. Это можно сделать, добавив <code>copyAttributesFrom</code>. Это рецепт для ящика с надписью: | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { |