# Recipe Stages

Игрок не сможет увидеть в самом начале модпака те крафты, что входят в этапы. *Ниже приведены несколько примеров:*

## Методы написания

1. Открытие целого мода через этап:

{% code overflow="wrap" %}

```java
// В данных строках написано, что моды "Mekanism" и "EnderIO" добавлены во второй этап - "two". 

mods.recipestages.Recipes.setRecipeStageByMod("two", "mekanism");
mods.recipestages.Recipes.setRecipeStageByMod("two", "enderio");

// В данных строках написано, что моды  "ic2" и "AppliedEnergistics2" добавлены в третий этап - "three". 

mods.recipestages.Recipes.setRecipeStageByMod("three", "ic2");
mods.recipestages.Recipes.setRecipeStageByMod("three", "appliedenergistics2");

// В данных строках написано, что моды  "УxtendedСrafting" и "Tombstone" добавлены в четвертый этап - "four". 

mods.recipestages.Recipes.setRecipeStageByMod("four", "extendedcrafting");
mods.recipestages.Recipes.setRecipeStageByMod("four", "tombstone");
```

{% endcode %}

2. Устанавливает стадию для отдельного рецепта:

Пример похож на тот, что Вы уже писали ранее, только вместо ID мода нужно написать ID предмета.

{% code overflow="wrap" %}

```java
// В данных строках написано, что предметы "mekanism:basicblock2:1" и "mekanism:machineblock:8" добавлены во второй этап - "two". 

mods.recipestages.Recipes.setRecipeStage("two", <mekanism:basicblock2:1>);
mods.recipestages.Recipes.setRecipeStage("two", <mekanism:machineblock:8>);
```

{% endcode %}

<div align="left"><figure><img src="/files/wYAhvAANJoxNir3IO2QI" alt=""><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}

```java
// В данных строках написано, что рецепты "ic2:resource:12" и "ic2:crafting:13" добавлены в третий этап -  "three". 

mods.recipestages.Recipes.setRecipeStage("three", <ic2:resource:12>);
mods.recipestages.Recipes.setRecipeStage("three", <ic2:crafting:13>);
```

{% endcode %}

<div align="left"><figure><img src="/files/0MinTGo2tnAhGQVXAFD9" alt=""><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}

```java
// В данных строках написано, что предметы "minecraft:ender_eye" и "extendedcrafting:ender_alternator" добавлены в четвертый этап - "four". 

mods.recipestages.Recipes.setRecipeStage("four", "minecraft:ender_eye");
mods.recipestages.Recipes.setRecipeStage("four", <extendedcrafting:ender_alternator>);
```

{% endcode %}

<div align="left"><figure><img src="/files/IwHUB4cS2r8Oq6bTrxrZ" alt=""><figcaption></figcaption></figure></div>

После того, как игрок получает этап, в панели отображения рецепта можно увидеть следующую надпись:

<div align="left"><figure><img src="/files/MBtVbFubbYO1ShiwqhZJ" alt=""><figcaption></figcaption></figure> <figure><img src="/files/cD0cZ6UvILNgfGQesJDV" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Njgq1Y1nadDHpmqrHp4E" alt=""><figcaption></figcaption></figure></div>

До того времени увидеть крафт предмета игрок не сможет.

{% code overflow="wrap" %}

```java
// В данных строках написан форменный крафт, "яблоко" добавлено ко второму этапу и делается из 2 золотых слитков и 5 железных слитков:
mods.recipestages.Recipes.addShaped("two",<minecraft:apple>,[[<minecraft:gold_ingot>, <minecraft:gold_ingot>, <minecraft:iron_ingot>],[<minecraft:iron_ingot>, null, <minecraft:iron_ingot>],[<minecraft:iron_ingot>, null, <minecraft:iron_ingot>]]);
```

{% endcode %}

<div align="left"><figure><img src="/files/7xy7tYI0s8z0Gi0kvHsk" alt=""><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}

```java
// В данных строках написан форменный крафт, "золотой меч" добавлено к третьему этапу делается из 2 золотых слитков и 5 железных слитков:
mods.recipestages.Recipes.addShaped("Начало", "three", <minecraft:golden_sword>,[[<minecraft:gold_ingot>, <minecraft:iron_ingot>, <minecraft:iron_ingot>],[<minecraft:iron_ingot>, null, <minecraft:iron_ingot>],[<minecraft:iron_ingot>, null, <minecraft:iron_ingot>]]);
```

{% endcode %}

<div align="left"><figure><img src="/files/ih4yBFB8QYkNNR30w7uY" alt=""><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}

```java
// В данных строках написан бесформенный крафт, "алмаз" добавлен ко второму этапу и  делается из 2 песка, 1 железного слитка и 1 золотого слитка:
mods.recipestages.Recipes.addShapeless("two", <minecraft:diamond>, [<ore:sand>, <ore:sand>, <ore:ingotIron>, <minecraft:gold_ingot>]);
```

{% endcode %}

<div align="left"><figure><img src="/files/JThqTlT02fFSFyPpYrmc" alt=""><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}

```java
// В данных строках написан бесформенный крафт, предмет "железные поножи" добавлен к третьему этапу и делается из 2 песка, 1 железного слитка и 1 золотого слитка. 
mods.recipestages.Recipes.addShapeless("Начало", "three", <minecraft:iron_leggings>, [<ore:sand>, <ore:sand>, <ore:ingotIron>, <minecraft:gold_ingot>]);
```

{% endcode %}

{% code overflow="wrap" %}

```java
// Для начала нужно создать файл "post Init.zs", после его создания напишите в нём следующие строчки: 
#priority -100
import mods.zenstages.ZenStager; // Импортируем класс
initSpecificStaging(); // Это специфические сценарии для постановки
ZenStager.buildAll(); // Подгружает все этапы
function initSpecificStaging() {
	scripts.GameStages.stages.init(); // Показывает путь нахождения Ваших этапов, 
}
```

{% endcode %}

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

<div align="left"><figure><img src="/files/EgDNYVRrsb6EALrUmaeK" alt=""><figcaption></figcaption></figure></div>

Вам нужно написать следующее, как указано в примере ниже, первый, второй и третий этапы можно использовать в крафте только на <mark style="color:blue;">**WorkStump**</mark>:

{% code overflow="wrap" %}

```java
import mods.zenstages.ZenStager;
import mods.zenstages.Stage;

static one as Stage = ZenStager.initStage("one");
static two as Stage = ZenStager.initStage("two");
static three as Stage = ZenStager.initStage("three");
static four as Stage = ZenStager.initStage("four");

function init() { // Означает открытие функции "init" для написания изменений.
    ZenStager.addContainer("primal_tech.inventory.ContainerWorkStump" /* говорит об использовании мода primal_tech и добавление особого инвентаря в контейнер  "WorkStump" */, [one, two, three] /* отвечает за этапы, которые Вы можете добавить для "WorkStump" */); // Отвечает за добавление контейнера
} // Закрытие функции
```

{% endcode %}

<div align="left"><figure><img src="/files/qV3j31ZTqvYo9zRGWoH5" alt=""><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.aegis-mine.ru/modifications/sozdanie-kontenta/game-stages/recipe-stages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
