# 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2FksGcy51rsQ3cr3PEor2l%2Fimage7.png?alt=media&#x26;token=f6411b18-c0f7-40c3-9691-dbf015c6a14b" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2FigeDazbPom6hlTWgJfLb%2Fimage8.png?alt=media&#x26;token=7bc7b210-0acb-4499-be5d-6dcb7bf2e7c4" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2Fr0zpzBC1xMO5vMfJavoS%2Fimage9.png?alt=media&#x26;token=1ca2cfc0-123e-467f-9da6-33e80e205701" alt=""><figcaption></figcaption></figure></div>

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

<div align="left"><figure><img src="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2FIU6IzMmpfmPdzRGvRUoW%2Fimage10.png?alt=media&#x26;token=d1a9e536-7296-4910-955d-453d1a2be1fa" alt=""><figcaption></figcaption></figure> <figure><img src="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2F2FYrrv32b4TyHNYMzB0B%2Fimage11.png?alt=media&#x26;token=34cc5235-14ea-41d9-a9d5-d5dff85a6f69" alt=""><figcaption></figcaption></figure> <figure><img src="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2Fb4UmKDETschOMV5yPZwd%2Fimage12.png?alt=media&#x26;token=d5f7ed00-574f-43e2-8771-bf8d029b2265" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2F6e8gUwZDdjwHItUBpNwU%2Fimage13.png?alt=media&#x26;token=65674430-9808-4458-b0c7-2607b1e2fcf0" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2FHT0uJMjp7bCkXpNWXOWz%2Fimage14.png?alt=media&#x26;token=d4daf97e-1432-477e-9784-cb6caa40ea11" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2F7Sq4W0WmqIzCumS1WINr%2Fimage15.png?alt=media&#x26;token=457d4c2c-f031-4ed6-99d6-19035bd171b0" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2F0n7UBFgXfETpkPpiYTYf%2Fimage22.png?alt=media&#x26;token=419d40f3-5568-4e49-930b-7160034edb51" 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="https://88247998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwIhyvBxJYLfHMqS8tmat%2Fuploads%2FzBSP07r8vacDHN6CSL7D%2Fimage23.png?alt=media&#x26;token=dd2f53b1-8f28-4b64-ba86-2eb62730c9f3" alt=""><figcaption></figcaption></figure></div>
