맞춤 레시피: 조합법, 무형 조합법, 그리고 모든 목재를 나열하는 대신 태그 사용하기
일반적으로 조합되지 않는 조합법은 키가 잘못되었거나 패턴이 공백으로 채워져 있을 수 있습니다. 여기 JSON, 8개의 레시피를 하나로 줄이는 태그 트릭, 그리고 테스트 방법이 있습니다.
레시피는 데이터팩 파일 중 작성하기 가장 쉽지만, 미묘하게 잘못되기 쉬운 파일이기도 합니다. 잘못된 레시피는 조용히 실패하기 때문입니다. 조합 칸에서 아무 일도 일어나지 않죠.
조합법 (Shaped)
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
대부분의 실패를 유발하는 세 가지 규칙:
pattern의 모든 문자는key에 존재해야 합니다. 단, 빈칸을 의미하는 공백은 예외입니다.- 패턴은 상대적이며 절대적이지 않습니다. 2x2 레시피는 두 줄의 두 칸으로 작성해야 하며, 3x3으로 공백을 채워서는 안 됩니다. 공백을 채우면 조합 칸의 정확히 그 모서리에서만 조합할 수 있게 됩니다.
- 모든 줄의 길이는 같아야 합니다.
["SS", "S"]은 유효하지 않습니다.
무형 조합법 (Shapeless)
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
순서는 중요하지 않습니다. 중복되는 항목은 각각 한 번씩 나열해야 합니다. 석탄 두 개는 두 개의 항목을 의미합니다.
태그로 여러 레시피를 하나로 통합하기
8가지 종류의 나무 판자에 대한 8개의 레시피 대신:
"key": { "P": "#minecraft:planks" }
#는 아이템 태그를 나타냅니다. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials 등 수십 가지가 이미 존재합니다. 자신만의 태그를 정의하려면 하나의 파일이 필요합니다:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
tags/item/에 주목하세요. 단수형 item, 복수형 tags. 이 불일치는 실제입니다.
구성 요소가 있는 결과
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "\"Excalibur\"", "minecraft:enchantments": { "sharpness": 5 } }
}
이것이 모드 없이 사용자 지정 아이템을 조합 가능하게 만드는 방법입니다.
다른 레시피 유형
crafting_shaped 및 crafting_shapeless은 여러 유형 중 두 가지입니다. 다음도 사용할 수 있습니다: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform 및 smithing_trim. 요리 유형은 cookingtime 및 experience을 사용하고, 석재 절단(stonecutting)은 단일 재료와 개수를 사용합니다.
테스트
/reload을 입력한 다음 조합 칸을 시도해 보세요. 아무 일도 일어나지 않으면:
- 리로드 시 채팅을 확인하세요. 잘못된 JSON은 그곳에 보고됩니다.
/recipe give @s <namespace>:<recipe>를 입력하세요. 레시피 ID가 잘못되면 오류가 발생하며,
이는 파일이 전혀 읽히지 않고 있음을 알려줍니다.
- 레시피 잠금 해제는 레시피 존재와 별개입니다. 레시피가 레시피 책에 나타나지 않더라도
조합 칸에서는 작동합니다.
Datapack JSON Builders에서 키와 태그를 확인하여 레시피, 조건(predicate), 키트 JSON을 만드세요.