NeoForge 26.1 Docs
  • 문서
  • 노트
NeoForge 26.1
NeoForge 26.1
v26.1
학습 진도
0 / 77 챕터 완료방문 0
마스터 트랙 #1: 도구 모드 프로젝트 셋업보석 아이템 디자인 — Ruby & Sapphire커스텀 ToolTier + 루비 도구 4종모드 전용 크리에이티브 탭조합 레시피 + 아이템 태그모드 마무리 + 빌드 JAR
마스터도구

조합 레시피 + 아이템 태그

crafting_shaped·smelting·crafting_shapeless 세 가지 레시피 JSON을 작성하고, 아이템 태그로 재료를 묶어 제련 레시피에 적용합니다.

레시피 시스템 개요

NeoForge/Minecraft의 레시피는 데이터팩 JSON으로 정의합니다. 코드를 건드리지 않고 src/main/resources/data/<modid>/recipe/*.json 파일만 추가하면 게임이 로드 시 자동으로 인식합니다.

주요 레시피 타입:

타입설명
minecraft:crafting_shaped패턴이 있는 조합 (3×3 격자)
minecraft:crafting_shapeless순서 무관 조합
minecraft:smelting화로 제련
minecraft:blasting용광로 (화로 2배 속도)
minecraft:smoking훈연기 (음식 전용)

이 챕터에서는 세 가지 타입과 아이템 태그까지 다룹니다.


1단계 — 조합 레시피 (crafting_shaped): Ruby Pickaxe

examplemod-master-projects/tools/src/main/resources/data/master_tools/recipe/ruby_pickaxe.json

{
  "type": "minecraft:crafting_shaped",
  "category": "equipment",
  "pattern": [
    "RRR",
    " S ",
    " S "
  ],
  "key": {
    "R": "master_tools:ruby",
    "S": "minecraft:stick"
  },
  "result": {
    "id": "master_tools:ruby_pickaxe",
    "count": 1
  }
}

pattern / key 규칙

  • pattern의 각 줄은 동일한 길이여야 합니다 (빈칸으로 패딩).
  • key는 pattern에 등장하는 모든 비공백 문자를 정의해야 합니다.
  • 공백( )은 빈 슬롯을 의미하므로 key에 정의하지 않습니다.
  • result.count는 생산 개수 (기본값 1).

⚠️ 안티패턴: pattern 키 미정의 → 데이터팩 로드 에러

⚠️ 잘못된 레시피 JSON

// ❌ pattern 미스매치 (key 정의 누락)
"pattern": ["RRR", " S ", " S "],
"key": {"R": "master_tools:ruby"}  // S 누락

→ 데이터팩 로드 에러: "Unknown key 'S'"

모든 pattern 문자는 key에 정의되어야 합니다 (공백 " " 은 자동).


2단계 — 아이템 태그 정의

레시피에서 태그를 재료로 사용하면, 태그에 속한 모든 아이템을 재료로 쓸 수 있습니다. 이 패턴은 바닐라의 #minecraft:logs (모든 원목)와 동일한 방식입니다.

examplemod-master-projects/tools/src/main/resources/data/master_tools/tags/item/gems.json

{
  "values": ["master_tools:ruby", "master_tools:sapphire"]
}

태그 경로 규칙:

  • data/<namespace>/tags/item/<tag_name>.json
  • 게임 내 참조: #<namespace>:<tag_name> → #master_tools:gems

3단계 — 제련 레시피 (smelting): 광석 → Ruby

examplemod-master-projects/tools/src/main/resources/data/master_tools/recipe/ruby_smelting.json

{
  "type": "minecraft:smelting",
  "category": "misc",
  "ingredient": "#master_tools:gem_ores",
  "result": {"id": "master_tools:ruby"},
  "experience": 1.0,
  "cookingtime": 200
}
필드설명
ingredient태그(#namespace:tag) 또는 단일 아이템 ID
result결과 아이템
experience제련 완료 시 경험치 (다이아몬드 1.0, 철 0.7)
cookingtime틱 단위 (20틱 = 1초, 기본 200틱 = 10초)

ingredient에 #master_tools:gem_ores를 사용했으므로, Ruby Ore와 Sapphire Ore 모두 이 레시피 하나로 제련됩니다. 광석 태그는 별도 data/master_tools/tags/item/gem_ores.json에 정의합니다.


4단계 — 무형 조합 (crafting_shapeless): Ruby Block 압축

examplemod-master-projects/tools/src/main/resources/data/master_tools/recipe/ruby_block.json

{
  "type": "minecraft:crafting_shapeless",
  "category": "misc",
  "ingredients": [
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby",
    "master_tools:ruby"
  ],
  "result": {"id": "master_tools:ruby_block", "count": 1}
}

crafting_shapeless의 특징:

  • ingredients 배열에 재료를 순서 없이 나열합니다.
  • 3×3 조합대에서 어느 위치에 놓아도 동일한 결과를 생산합니다.
  • 같은 아이템을 여러 개 요구할 때 배열 항목을 중복 나열합니다.

레시피 파일 구조 정리

src/main/resources/
└── data/
    └── master_tools/
        ├── recipe/
        │   ├── ruby_pickaxe.json    # crafting_shaped  (R+S → Pickaxe)
        │   ├── ruby_smelting.json   # smelting         (#gem_ores → Ruby)
        │   └── ruby_block.json      # crafting_shapeless (9×Ruby → Block)
        └── tags/
            └── item/
                └── gems.json        # #master_tools:gems 태그

다음 단계

레시피와 태그가 모두 갖춰졌습니다. 다음 챕터에서는 빌드를 완성하고 최종 검증을 진행합니다.

모드 전용 크리에이티브 탭

DeferredRegister로 모드 전용 CreativeModeTab을 등록하고, BuildCreativeModeTabContentsEvent로 바닐라 탭에도 아이템을 추가하는 방법을 배웁니다.

모드 마무리 + 빌드 JAR

README.md로 프로젝트를 문서화하고, gradlew build로 배포 가능한 JAR을 생성합니다. 빌드 산출물 검증과 JAR 무결성 주의사항도 다룹니다.

On this page

레시피 시스템 개요1단계 — 조합 레시피 (crafting_shaped): Ruby Pickaxepattern / key 규칙⚠️ 안티패턴: pattern 키 미정의 → 데이터팩 로드 에러2단계 — 아이템 태그 정의3단계 — 제련 레시피 (smelting): 광석 → Ruby4단계 — 무형 조합 (crafting_shapeless): Ruby Block 압축레시피 파일 구조 정리다음 단계
NeoForge 26.1 Docs

NeoForge 26.1 모딩 개발 문서 사이트

GitHubDiscord

문서

  • 문서
  • 노트

GitHub

  • GitHub
  • Discord

© 2026 NeoForge 26.1 Docs. 콘텐츠는 MIT 라이선스로 제공됩니다.

Built with Next.js · Tailwind CSS · shadcn/ui