Recipe Stages

С данным аддоном Вы можете настроить рецепты создания в зависимости от этапа продвижения, заблокировать какой-либо крафт и скрыть его из поиска.

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

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

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

// В данных строках написано, что моды "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");
  1. Устанавливает стадию для отдельного рецепта:

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

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

mods.recipestages.Recipes.setRecipeStage("two", <mekanism:basicblock2:1>);
mods.recipestages.Recipes.setRecipeStage("two", <mekanism:machineblock:8>);
// В данных строках написано, что рецепты "ic2:resource:12" и "ic2:crafting:13" добавлены в третий этап -  "three". 

mods.recipestages.Recipes.setRecipeStage("three", <ic2:resource:12>);
mods.recipestages.Recipes.setRecipeStage("three", <ic2:crafting:13>);
// В данных строках написано, что предметы "minecraft:ender_eye" и "extendedcrafting:ender_alternator" добавлены в четвертый этап - "four". 

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

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

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

// В данных строках написан форменный крафт, "яблоко" добавлено ко второму этапу и делается из 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>]]);
// В данных строках написан форменный крафт, "золотой меч" добавлено к третьему этапу делается из 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>]]);
// В данных строках написан бесформенный крафт, "алмаз" добавлен ко второму этапу и  делается из 2 песка, 1 железного слитка и 1 золотого слитка:
mods.recipestages.Recipes.addShapeless("two", <minecraft:diamond>, [<ore:sand>, <ore:sand>, <ore:ingotIron>, <minecraft:gold_ingot>]);
// В данных строках написан бесформенный крафт, предмет "железные поножи" добавлен к третьему этапу и делается из 2 песка, 1 железного слитка и 1 золотого слитка. 
mods.recipestages.Recipes.addShapeless("Начало", "three", <minecraft:iron_leggings>, [<ore:sand>, <ore:sand>, <ore:ingotIron>, <minecraft:gold_ingot>]);
// Для начала нужно создать файл "post Init.zs", после его создания напишите в нём следующие строчки: 
#priority -100
import mods.zenstages.ZenStager; // Импортируем класс
initSpecificStaging(); // Это специфические сценарии для постановки
ZenStager.buildAll(); // Подгружает все этапы
function initSpecificStaging() {
	scripts.GameStages.stages.init(); // Показывает путь нахождения Ваших этапов, 
}

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

Вам нужно написать следующее, как указано в примере ниже, первый, второй и третий этапы можно использовать в крафте только на WorkStump:

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" */); // Отвечает за добавление контейнера
} // Закрытие функции

Last updated