Крафт#
Создадим класс CraftingRegister
.
public class CraftingRegister {
public static void register() {
registerRecipes("key");
}
private static void registerRecipes(String name) {
CraftingHelper.register(new ResourceLocation("tut", name), (IRecipeFactory) (context, json) -> CraftingHelper.getRecipe(json, context));
}
}
registerRecipes(name)
- с помощью данного метода вы сможете гораздо быстрее прописывать регистрацию рецептов.tut
- modId мода.
Перейдём в папку:
└── src
└── main
└── resources
└── assets
└── tut
└── recipes
И создадим в папке recipes
файл key.json
. (json
- это формат файла!)
type
- это тип крафта. Всего существует два вида:crafting_shaped
- в этом типе крафта мы можем задать позицию крафта, т.е. предмет будет создан только если предметы содержатся на этих позициях.crafting_shapeless
- в этом типе крафта блок/предмет может быть размещен на любой позиции в слотах крафта. Пример: мы можем положить в любой слот крафта сахарный тростник и получить сахар.pattern
- это шаблон крафта, существует только уcrafting_shaped
типа.key
- это ключи, существует только уcrafting_shaped
типа. Допустим мы указалиL
в шаблоне, теперь нам нужно сказать игре, чтоL
- это золотой слитокitem
- это наш предмет. Указание modId обязательно!-
data
- это метадата предмета. Если вам надо сделать, чтобы в сетку крафта можно было класть какой-то предмет, метадата которого не важна, напишите в поле data число 32767. Прошу заметить, что использовать это число, так называемое, WILDCARD_VALUE строго запрещено использовать для предмета, который будет в итоге создан. Внимание! Если вы хотите использовать к примеру белую шерсть, вам нужно указатьdata: 0
в противном случаи, у вас не будет создаваться предмет/блок! -
ingredients
- это ключи, существует только уcrafting_shapeless
типа. result
- это результат крафта.item
- это наш предмет. Указание modId обязательно!count
- это число предметов, которое будет выдано при крафте. Допустим мы хотим, чтобы при крафте нам давался не один ключ, а пять. Значит нам нужно указатьcount: 5
Пример shaped
крафта:
{
"type": "minecraft:crafting_shaped",
"pattern": [
" L ",
" L ",
" D "
],
"key": {
"L": {
"item": "tut:best_sword"
},
"D": {
"item": "minecraft:wool",
"data": 32767
}
},
"result": {
"item": "tut:key",
"count": 5
}
}
Пример shapeless
крафта:
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:gold_ingot"
},
{
"item": "minecraft:dye",
"data": 11
}
],
"result": {
"item": "tut:key"
}
}
Так же некоторые из вас спрашивали на форуме "Как добавить свои рецепты в книгу рецептов?", отвечаем! Рецепты в книгу добавлять не нужно, Minecraft сам всё сделает, вам лишь нужно создать сам рецепт.