Modding:Creating Recipes/ru: Difference between revisions

From Vintage Story Wiki
(Created page with "Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок,...")
(Created page with "Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту...")
Line 108: Line 108:
</syntaxhighlight>
</syntaxhighlight>


Instead of having a recipe for every wood type, you can assign a name to an ingredient (in this case it is <code>name: "wood"</code>) and everything identified by <code>*</code> will later on replaced be for the output. Meaning <code>{wood}</code> will be replaced by the type of the giving log.
Вместо того, чтобы иметь рецепт для каждого типа древесины, вы можете назначить имя ингредиенту (в данном случае это <code>name: "wood"</code>), и все обозначенное <code>*</code>, позже будет заменено на выходе. Значение <code>{wood}</code> будет заменено типом используемого дерева.


For example if we would have a birch log block, its code would be <code>log-birch-ud</code>, so <code>*</code> would stand for <code>birch</code>, therefore the output will be converted from <code>code: "planks-{wood}"</code> to <code>code: "planks-birch"</code>.
For example if we would have a birch log block, its code would be <code>log-birch-ud</code>, so <code>*</code> would stand for <code>birch</code>, therefore the output will be converted from <code>code: "planks-{wood}"</code> to <code>code: "planks-birch"</code>.

Revision as of 20:02, 23 July 2020

Прежде чем создавать рецепты, рекомендуем сначала прочитать Основа предмета, чтобы понять это руководство.

Основы

Давайте создадим рецепт для нашей палочки, который мы добавили в руководстве основа предмета.

Шаблон ингредиентов

Давайте начнем с объявления шаблона или макета рецепта, в нашем примере мы хотим, чтобы игрок поместил кирку поверх двух палочек.

Recipe Wand Pickaxe.png

который будет выглядеть так:

	ingredientPattern: "P	S	S",
	width: 1,
	height: 3,

P и S являются идентификаторами, которые будут определены позже. Каждая строка разделена вкладкой, а пустая ячейка помечена подчеркиванием _. Ширина этого рецепта 1 и в нем 3 строки. Не ставьте пробелы между ячейками, например _ P _ это 5, а не 3 ячейки.

Ингредиенты

Все, что нам нужно сделать сейчас, это определить идентификаторы, которые мы использовали ранее. В нашем примере P обозначает медную кирку, а S - обычную палку.

	ingredients: {
		"P": { type: "item", code: "game:pickaxe-copper"},
		"S": { type: "item", code: "game:stick"}
	},

Type является либо block, либо item, в зависимости от того, является ли он предметом или блоком.

Когда в рецептах есть ванильные предметы, им нужно game: перед названием предмета. Когда они из вашего собственного мода, вы можете просто поставить название предмета.

Чтобы узнать code каждого предмета (или блока), вы можете ввести .edi в консоль, которая добавит свойство code в всплывающую подсказку:

Recipe Stick Tooltip.png


Кроме того, мы могли бы добавить необходимое количество к нашим ингредиентам, поэтому вместо одной палки на слот мы могли бы потребовать больше:

	ingredients: {
		"P": { type: "item", code: "game:pickaxe-copper"},
		"S": { type: "item", code: "game:stick", quantity: 2}
	},

Еще одна вещь, которую мы могли бы сделать - вместо того, чтобы потреблять кирку, мы могли бы использовать ее как инструмент:

	ingredients: {
		"P": { type: "item", code: "game:pickaxe-copper", isTool: true},
		"S": { type: "item", code: "game:stick"}
	},

Это может привести к тому, что кирка потеряет одну прочность во время крафта, вместо того, чтобы потреблять всю кирку сразу.

Возврат (выход)

Нам все еще нужно определить результат, который довольно похож на определение ингредиентов:

	output: { type: "item", code: "wand-pickaxe"}

Теоретически, мы могли бы также добавить свойство quantity (количество) здесь.

Распространение

Вот как выглядит наш последний рецепт:

{
	ingredientPattern: "P	S	S",
	width: 1,
	height: 3,
	ingredients: {
		"P": { type: "item", code: "game:pickaxe-copper"},
		"S": { type: "item", code: "game:stick"}
	},
	output: { type: "item", code: "wand-pickaxe"}
}

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

Вы можете скачать полный мод, включая предметы здесь.

Продвинутые рецепты

Типовые рецепты

Есть более сложные вещи, которые вы можете сделать с рецептами. Это рецепт для деревянных досок, которые сделаны из бревен:

{
	ingredientPattern: "L",
	ingredients: {
		"L": { type: "block", code: "game:log-*-ud", name: "wood" }
	},
	width: 1,
	height: 1,
	output: { type: "block", code: "planks-{wood}", quantity: 4  }
}

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

For example if we would have a birch log block, its code would be log-birch-ud, so * would stand for birch, therefore the output will be converted from code: "planks-{wood}" to code: "planks-birch".


Icon Sign.png

Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.