NeoForge 26.1 Docs
  • 문서
  • 노트
NeoForge 26.1
NeoForge 26.1
v26.1
학습 진도
0 / 77 챕터 완료방문 0
캡스톤 통합 설계 + 의존 구조차원에 보석 광물 배치 (WorldGen)기계 가공 통합 — Crusher로 광물 → 보석 정제차원 전용 새 몹 — GemGuardian이벤트로 모듈 연결사운드·파티클 폴리시마무리와 통합 빌드
마스터캡스톤

기계 가공 통합 — Crusher로 광물 → 보석 정제

차원에서 채굴한 Ruby·Sapphire 광물을 master_machine의 Crusher로 가공하는 CrusherRecipe 데이터팩을 capstone에 추가하고, 차원 입장 → 채굴 → 귀환 → 가공의 전체 진행 루프를 완성합니다.

기계 가공 통합 — Crusher로 광물 → 보석 정제

앞 챕터(01-dimension-gem-ore)에서 Magic Realm 안에 Ruby Ore와 Sapphire Ore 월드젠을 배치했습니다. 이번 챕터에서는 채굴한 광물을 master_machine의 Crusher로 가공하는 CrusherRecipe 데이터팩을 캡스톤 모드에 추가합니다.

⚠️ 다른 모드 레시피 수정 금지
capstone은 master_machine의 CrusherRecipe 타입을 사용하지만,
master_tools의 코드·레시피를 직접 수정하지 않습니다.
capstone 데이터팩에 새 레시피 JSON만 추가해 모드 간 결합도를 낮춥니다.


1. 전체 진행 루프 개요

다이어그램 렌더링 중…
단계담당 모드capstone이 추가하는 것
차원 입장master_dimension—
광물 발견·채굴master_tools 곡괭이Ruby/Sapphire Ore 월드젠 (이전 챕터)
기계 가공 레시피master_machine CrusherCrusherRecipe JSON (이번 챕터)
보석 활용master_tools Ruby·Sapphire—

2. CrusherRecipe 데이터팩 위치

NeoForge의 데이터팩 레시피는 src/main/resources/data/<namespace>/recipe/<이름>.json에 위치합니다.
capstone 네임스페이스 master_capstone 아래에 작성하면, master_machine의 CrusherRecipe 타입을 코드 수정 없이 데이터만으로 등록할 수 있습니다.

examplemod-master-projects/capstone/src/main/resources/
└── data/
    └── master_capstone/
        └── recipe/
            ├── ruby_ore_crush.json       ← 이번 챕터에서 추가
            └── sapphire_ore_crush.json   ← 이번 챕터에서 추가

3. Ruby Ore → Ruby 레시피

data/master_capstone/recipe/ruby_ore_crush.json

{
  "type": "master_machine:crusher",
  "input": "master_tools:ruby_ore",
  "output": {
    "id": "master_tools:ruby",
    "count": 2
  },
  "chance": 1
}
필드값의미
typemaster_machine:crusherCrusher 가공 레시피 (master_machine 정의)
inputmaster_tools:ruby_ore입력 재료 — Ingredient.CODEC가 문자열 ID를 그대로 받습니다(capstone이 월드젠으로 배치한 광물)
output.idmaster_tools:ruby출력 아이템 — 기존 master_tools 보석
output.count2광물 1개 → 보석 2개 (곡괭이 드롭과 동등 이상)
chance1100% 확률로 가공 성공

💡 count 2의 이유
인챈트 없이 광물을 캐면 보석 1개 드롭이 기본입니다.
Crusher를 경유하면 2배 효율이 되어, 기계 가공 루프에 동기가 생깁니다.


4. Sapphire Ore → Sapphire 레시피

data/master_capstone/recipe/sapphire_ore_crush.json

{
  "type": "master_machine:crusher",
  "input": "master_tools:sapphire_ore",
  "output": {
    "id": "master_tools:sapphire",
    "count": 1
  },
  "chance": 1
}

Sapphire Ore는 Ruby보다 희귀하기 때문에 출력 count를 1로 설정합니다. 추후 부산물(byproduct) 시스템이 master_machine에 추가된다면, 이 파일에 byproduct 필드를 추가해 확장할 수 있습니다.


5. 레시피 등록 확인 (인게임 검증)

ℹ️

📷 스크린샷 자리 (직접 캡처해 추가하세요)

Crusher GUI — Ruby Ore 투입 후 처리 진행 화면

검증 절차

  1. 4개 JAR(master_tools, master_dimension, master_machine, master_capstone)을 mods/ 폴더에 배치합니다.
  2. 게임을 시작한 뒤 크리에이티브 모드에서 Crusher 블록을 설치합니다.
  3. Crusher를 우클릭해 GUI를 엽니다.
  4. 입력 슬롯에 Ruby Ore 아이템을 넣습니다.
  5. Crusher가 작동(진행 바 이동)하고, 출력 슬롯에 Ruby ×2가 나타나면 성공입니다.
Crusher GUI 슬롯 구성:
[ 입력 슬롯 ] → [▶ 진행] → [ 출력 슬롯 ]
  ruby_ore                     ruby ×2

6. 전체 진행 루프 종합 검증

ℹ️

📷 스크린샷 자리 (직접 캡처해 추가하세요)

Magic Realm 탐험 → Crusher 가공 → 보석 획득 전체 흐름

아래 순서로 전체 루프를 한 번 실행하면 캡스톤 통합이 정상 동작하는지 확인할 수 있습니다.

순서행동기대 결과
1Magic Portal에 불을 붙여 Magic Realm 진입파란 하늘·특수 지형 렌더링
2Y < 40 부근 탐색Ruby Ore 또는 Sapphire Ore 발견
3master_tools 곡괭이로 광물 채굴광물 아이템 드롭
4Portal 역방향으로 오버월드 귀환오버월드 로드
5Crusher GUI에 광물 투입처리 진행 후 보석 출력
6보석 아이템 획득Ruby ×2 또는 Sapphire ×1

7. 코드 수정 없이 확장하는 이유

이번 챕터에서 추가한 내용은 JSON 파일 2개뿐입니다. Java 코드를 한 줄도 건드리지 않고 master_machine의 레시피 시스템을 활용했습니다.

이 접근 방식의 이점:

  • 낮은 결합도: master_machine이 업데이트되어도 JSON 스키마가 유지되는 한 capstone 레시피는 그대로 동작합니다.
  • 검증 용이: 레시피 오류는 게임 로그에 JSON 파싱 오류로 명시됩니다. Java 컴파일 오류보다 빠르게 수정할 수 있습니다.
  • 데이터팩 배포: capstone JAR 없이 데이터팩 ZIP만으로도 레시피를 배포할 수 있습니다.

8. 이 챕터의 완료 기준

  • data/master_capstone/recipe/ruby_ore_crush.json 파일이 존재합니다.
  • data/master_capstone/recipe/sapphire_ore_crush.json 파일이 존재합니다.
  • Crusher에 Ruby Ore를 투입하면 Ruby ×2가 출력됩니다.
  • Crusher에 Sapphire Ore를 투입하면 Sapphire ×1이 출력됩니다.
  • Magic Realm → 채굴 → 귀환 → Crusher 가공 전체 루프가 끊김 없이 진행됩니다.

다음 챕터(03-gem-guardian)에서는 Magic Realm 전용 몹 GemGuardian을 추가해 보석 드롭과 진행 루프를 더 심화합니다.

차원에 보석 광물 배치 (WorldGen)

NeoForge 데이터팩 worldgen JSON 3종(configured_feature, placed_feature, biome_modifier)을 작성해 master_dimension의 magic_realm 차원에만 Ruby Ore를 생성합니다.

차원 전용 새 몹 — GemGuardian

Magic Realm 전용 적대 몹 GemGuardian을 Monster 상속으로 구현합니다. EntityType 등록, AttributeSupplier, 4큐브 GemGuardianModel, MobRenderer 설정까지 단계별로 다룹니다.

On this page

기계 가공 통합 — Crusher로 광물 → 보석 정제1. 전체 진행 루프 개요2. CrusherRecipe 데이터팩 위치3. Ruby Ore → Ruby 레시피4. Sapphire Ore → Sapphire 레시피5. 레시피 등록 확인 (인게임 검증)6. 전체 진행 루프 종합 검증7. 코드 수정 없이 확장하는 이유8. 이 챕터의 완료 기준
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