MC Toolkit

가이드 / 명령어 및 데이터

커스텀 레시피: shaped, shapeless, 그리고 모든 나무를 나열하는 대신 태그 사용하기

제작이 안 되는 shaped 레시피는 보통 키(key)가 잘못된 경우입니다. 여기에는 JSON, 게임이 패턴에서 자동으로 잘라내는 부분, 레시피 13개를 하나로 합치는 태그 트릭, 그리고 테스트 방법이 있습니다.

레시피는 데이터팩 파일 중 가장 작성하기 쉬운 축에 속하지만, 동시에 가장 은근히 틀리기 쉬운 파일이기도 합니다. 잘못된 레시피는 조용히 실패하기 때문입니다 — 제작 그리드가 그냥 아무 반응도 하지 않습니다.

Shaped

{
  "type": "minecraft:crafting_shaped",
  "pattern": [ "SSS", "S S", "SSS" ],
  "key": { "S": "minecraft:stone" },
  "result": { "id": "minecraft:furnace", "count": 1 }
}

대부분의 실패를 유발하는 세 가지 규칙:

  • pattern의 모든 문자는 key에 존재해야 합니다. 단, 공백은 예외로 빈 칸을 의미합니다.
  • 패턴은 상대적이지, 절대적이지 않습니다. 게임이 가장자리의 빈 행과 열을 잘라내기 때문에, 2×2를 공백으로 채워 3×3으로 만든 패턴도 그리드 어디에서든 제작됩니다 — 그래도 2행 2열로 쓰는 게 더 명확합니다.
  • 모든 행의 길이가 같아야 합니다. ["SS", "S"]는 유효하지 않습니다.

Shapeless

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": ["minecraft:stone", "minecraft:coal"],
  "result": { "id": "minecraft:torch", "count": 4 }
}

순서는 상관없습니다. 중복 항목은 각각 한 번씩 나열해야 합니다 — 석탄 두 개면 항목 두 개입니다.

태그로 한 계열을 하나의 레시피로 합치기

판자 종류 13개에 대해 레시피 13개를 만드는 대신:

"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를 받고, 석재 절단은 재료 하나와 개수를 받습니다.

테스트

/reload 후 그리드에서 시도해 보세요. 아무 일도 일어나지 않으면:

  1. /reload 후 게임 로그(latest.log)를 확인하세요 — 잘못된 JSON은 채팅이 아니라 여기에 보고됩니다.
  2. /recipe give @s <namespace>:<recipe> — 레시피 id가 틀렸다면 이 명령이 오류를 내는데, 이는 파일이 아예 읽히지 않고 있다는 뜻입니다.
  3. 레시피 해금은 레시피 존재와 별개입니다. 레시피가 레시피 책에 한 번도 나타나지 않아도 그리드에서는 작동합니다.

키와 태그를 검증한 상태로 레시피, 조건자(predicate), 키트 JSON을 Datapack JSON Builders에서 만들어 보세요.

데이터 팩 JSON 빌더 →

더 많은 가이드

모두 보기 →