Добавление своих рецептов,форменных,бесформенных,плавких

Добавление своих рецептов,форменных,бесформенных,плавких

Версия(и) Minecraft
1.7.10
Рецепты в майнкрафте бывают форменные,бесформенныеплавкие.

Что же такое форменный рецепт? От слова форменный сразу становится понятно что он имеет какую-то форму.Под формой подразумевается определенное место каждого предмета для крафта в верстаке.
На скриншоте ниже можно увидеть особое положение предметов установленное мной.

Скриншот 02-03-2019 104204.png

Но если мы поменяем один предмет местом,то крафт уже перестаёт работать.Вот в этом суть форменного рецепта.

Скриншот 02-03-2019 104122.png
И так,Приступим к созданию самого форменного рецепта.
Создадим дополнительный класс для удобства. Я Назову его MyRecipes.В него добавляем метод addRecipes.Именно тут мы будет добавлять рецепты.
Java:
public static void addRecipes() {
        //тут
    }
Возвращаемся в главный класс мода.Регистрируем метод.
Важно: РЕГИСТРАЦИЯ РЕЦЕПТА ДОЛЖНА БЫТЬ ПОЗЖЕ ЧЕМ РЕГИСТРАЦИЯ САМОГО ПРЕДМЕТА КОТОРЫЙ ХОТИМ СКРАФТИТЬ
Java:
    @EventHandler
    public void Init(FMLInitializationEvent e){
        MyRecipes.addRecipes();
    }
Возвращаемся в класс MyRecipes, в внутри метода добавляем Готовую строку
Объяснительная Строка
GameRegistry.addRecipe(new ItemStack(Предмет который хотим получить при крафте), теперь идут слоты.
"XYX",
"XZX",
"XYX",
Дальше идёт обозначение букв. 'B', Items.iron_ingot,'A',Items.bread,'C',Items.gold_ingot);

Готовая Строка.
GameRegistry.addRecipe(new ItemStack(Items.iron_ingot), "XYX", "XZX", "XXX", 'X', Items.gold_ingot,'Z',Items.diamond,'Y',Items.coal);

Вот что мы получаем.
1551480788153.png
Если хотим сделать какую-то ячейку пустую то в рецепте где слоты оставляем пробелы
"XYX",
"XZX",
" X",
GameRegistry.addRecipe(new ItemStack(Items.iron_ingot), "XYX", "XZX", " X", 'X', Items.gold_ingot,'Z',Items.diamond,'Y',Items.coal);

Вот что получаем
1551480944695.png


Бесформенный рецепт,ну тут уже понятно что этот рецепт не будет иметь формы,то есть вещи можно будет класть хоть куда.

GameRegistry.addShapelessRecipe(new ItemStack(Items.iron_ingot,5), Items.gold_ingot, Items.diamond);


Тут можно увидеть что при смене позиций предмета в верстаке, крафт остаётся рабочим.В этом суть бесформенного рецепта
1551481141554.png

1551481131977.png
Плавкий рецепт - этот рецепт относится к печке.
При переплавке яблока мы получим алмаз,и 0.5 опыта.
GameRegistry.addSmelting(Items.apple, new ItemStack(Items.diamond), 0.5F);
1551481565549.png
1551481575405.png

Исходный код GITHUB
Автор
mbutakov_
Первый выпуск
Обновление
Оценка
4.25 звёзд 4 оценок

Последние рецензии

Доходчиво описана базовая работа с рецептами. Жаль, что нет продвинутых тем, вроде кастомных IRecipe, recipe wrapping и подобного
Все бы хорошо, но оформление... Ну и грамматика.
Вроде неплохо. Только почему бы не сделать метод addRecipes статическим и не создавать объект?
mbutakov_
mbutakov_
Точно,Все сделал.
Всё приятно объяснил)
mbutakov_
mbutakov_
Спасибо.
Сверху