Власні рецепти: формені, безформені та використання теґів замість переліку всієї деревини
Якщо формений рецепт не створюється, зазвичай неправильний ключ або заповнений шаблон. Ось JSON, трюк із теґами, що об'єднує вісім рецептів в один, і як це протестувати.
Рецепти — одні з найпростіших файлів датапака для написання та одні з найпідступніших щодо помилок, адже зламаний рецепт ніяк не сигналізує про помилку — сітка крафту просто нічого не робить.
Формені
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Три правила, через які виникає більшість помилок:
- Кожен символ у
patternmust exist inkey, окрім пробілу, що означає порожньо. - Шаблон відносний, а не абсолютний. Рецепт 2×2 слід записувати як два рядки по
два, а не доповнювати до 3×3 пробілами. Доповнення дозволяє створити його лише в конкретному кутку сітки.
- Усі рядки мають бути однакової довжини.
["SS", "S"]is invalid.
Безформені
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
Порядок не має значення. Дублікати мають бути вказані окремо — два вугілля означає два записи.
Теґи згортають родину предметів в один рецепт
Замість восьми рецептів для восьми типів дощок:
"key": { "P": "#minecraft:planks" }
Поле # marks an item tag. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials and dozens more already exist. Defining your own takes one file:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Примітка tags/item/ — singular item, plural tags. That inconsistency is real.
Результат із компонентами
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "\"Excalibur\"", "minecraft:enchantments": { "sharpness": 5 } }
}
Ось як власний предмет стає доступним для крафту без модів.
Інші типи рецептів
crafting_shaped and crafting_shapeless are two of many. Also available: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform and smithing_trim. The cooking types take cookingtime and experience; stonecutting takes a single ingredient and a count.
Тестування
/reload then try the grid. If nothing happens:
- Перевірте чат під час перезавантаження — некоректний JSON відображається там.
/recipe give @s <namespace>:<recipe>— if the recipe id is wrong, this errors, which
повідомляє про те, що файл узагалі не зчитується.
- Розблокування рецепта не залежить від його існування. Рецепт працює в сітці, навіть якщо
він ніколи не з'явиться в книзі рецептів.
Створюйте JSON рецептів, предикатів та наборів із перевіреними ключами й теґами у Конструктори JSON для датапаків.