NeoForge 26.1 Docs
  • 문서
  • 노트
NeoForge 26.1
NeoForge 26.1
v26.1
학습 진도
0 / 77 챕터 완료방문 0
첫 아이템 등록 — first_itemItem.Properties — stacksTo, rarity, fireResistant, food, durability모드 전용 크리에이티브 탭 만들기음식 아이템과 FoodProperties도구 아이템 — Tier 시스템과 4종 도구 등록방어구와 ArmorItemDataComponents — NBT를 대체하는 타입 안전 데이터 저장툴팁 커스터마이즈아이템 태그 시스템
아이템

Item.Properties — stacksTo, rarity, fireResistant, food, durability

Item.Properties 빌더의 주요 메소드를 학습하고 각 속성이 인게임 아이템에 어떤 효과를 주는지 이해합니다.

Item.Properties — 아이템 속성 빌더

아이템을 등록할 때 ITEMS.registerSimpleItem("x", props -> props.메소드()) 형태를 씁니다. NeoForge 26.1.2에서는 등록 람다가 넘겨주는 Item.Properties(여기서는 props)에 메소드를 체이닝합니다. Item.Properties는 빌더 패턴으로 설계되어 있어서 메소드를 체이닝하면서 아이템의 동작을 세밀하게 조정할 수 있습니다.


1. 빌더 패턴 기본 구조

NeoForge 26.1.2에서는 Item.Properties 인스턴스를 직접 new로 만들지 않습니다. ITEMS.registerSimpleItem / ITEMS.registerItem이 내부에서 Properties.setId(ResourceKey)까지 처리한 props를 람다로 넘겨주므로, 그 props에 필요한 메소드를 체이닝하면 됩니다. (람다 밖에서 new Item.Properties()를 직접 만들면 "id not set"으로 크래시합니다.)

// examplemod-template-26.1.2/src/main/java/com/example/examplemod/ExampleMod.java, RUBY 필드
public static final DeferredItem<Item> RUBY =
    ITEMS.registerSimpleItem("ruby", p -> p.rarity(Rarity.RARE));

메소드를 하나도 체이닝하지 않으면 기본값이 적용됩니다. 기본 아이템은 스택 64개, 흰색 이름, 불에 타는 일반 아이템입니다. registerSimpleItem("first_item")처럼 람다 없이 호출하면 모든 속성이 기본값인 아이템이 됩니다.


2. 주요 속성 메소드

메소드효과예시
stacksTo(int)최대 스택 수 설정.stacksTo(16)
rarity(Rarity)아이템 이름 색상.rarity(Rarity.EPIC)
fireResistant()불·용암 면역.fireResistant()
food(FoodProperties)음식 효과 부여챕터 03 참고
durability(int)내구도 설정.durability(100)
craftRemainder(Item)조합 후 남는 아이템.craftRemainder(Items.BUCKET)

3. stacksTo

아이템 하나의 슬롯에 최대 몇 개까지 쌓을 수 있는지 결정합니다. 기본값은 64입니다.

// 희귀 아이템이라 16개만 쌓이도록 — 등록 람다의 props 에 체이닝
ITEMS.registerSimpleItem("ruby_dust", p -> p.stacksTo(16));

내구도가 있는 아이템(durability(int) 사용)은 자동으로 스택 1로 고정됩니다. stacksTo와 durability를 동시에 쓰면 빌드 에러가 납니다.

⚠️ stacksTo(0) 시도

p.stacksTo(0)  // 무의미 — Minecraft가 무시

유효 범위: 1~64. 0이나 음수는 무시되거나 1로 처리됩니다.


4. rarity

아이템 이름의 색상을 결정합니다. 인벤토리에서 마우스를 올렸을 때 보이는 툴팁 이름 색상입니다.

Rarity 값이름 색상대표 바닐라 아이템
Rarity.COMMON흰색 (기본)돌, 나무
Rarity.UNCOMMON노란색황금 사과
Rarity.RARE하늘색인챈트된 황금 사과
Rarity.EPIC보라색용의 숨결
ITEMS.registerSimpleItem("epic_gem", p -> p.rarity(Rarity.EPIC));
// 인벤토리에서 아이템 이름이 보라색으로 표시됨

5. fireResistant

이 속성을 붙이면 아이템이 불이나 용암에 닿아도 타지 않습니다. 네더라이트 아이템과 같은 동작입니다.

ITEMS.registerSimpleItem("lava_gem", p -> p.fireResistant());
// 용암에 던져도 아이템이 소멸하지 않음

플레이어가 착용하거나 들고 있을 때의 불 저항과는 다릅니다. 이 속성은 **아이템 엔티티(바닥에 떨어진 아이템)**가 불에 타지 않는 것입니다.


6. durability

아이템에 내구도를 부여합니다. 내구도가 있는 아이템은 사용할 때마다 내구도가 줄고, 0이 되면 파괴됩니다.

ITEMS.registerSimpleItem("fragile_tool", p -> p.durability(100));
// 최대 내구도 100인 아이템

durability를 설정하면 stacksTo는 자동으로 1이 됩니다. 내구도 아이템은 슬롯에 1개만 들어갑니다.


7. craftRemainder

조합대에서 이 아이템을 재료로 쓸 때 소모되지 않고 남는 아이템을 지정합니다. 바닐라에서는 물 양동이를 케이크 재료로 쓰면 빈 양동이가 남는 것과 같은 동작입니다.

ITEMS.registerSimpleItem("filled_flask", p -> p.craftRemainder(Items.BUCKET));
// 조합 후 빈 양동이가 남음

8. 조합 예시

// examplemod-template-26.1.2/src/main/java/com/example/examplemod/ExampleMod.java, RUBY 필드
// 루비 — 희귀한 보석 아이템 (registerSimpleItem + props 람다)
public static final DeferredItem<Item> RUBY =
    ITEMS.registerSimpleItem("ruby", p -> p.rarity(Rarity.RARE));
 
// 여러 속성 조합 — props 람다 안에서 메소드를 체이닝한다
public static final DeferredItem<Item> RUBY_CHARM = ITEMS.registerSimpleItem("ruby_charm",
    p -> p.stacksTo(16)
        .rarity(Rarity.EPIC)
        .fireResistant());

요약

  • Item.Properties()는 빌더 패턴. 메소드를 체이닝해서 아이템 동작을 설정합니다.
  • stacksTo(int): 최대 스택 수. 기본 64, 내구도 아이템은 자동 1.
  • rarity(Rarity): 이름 색상. COMMON(흰) → UNCOMMON(노) → RARE(하늘) → EPIC(보라).
  • fireResistant(): 바닥에 떨어진 아이템이 불·용암에 타지 않음.
  • durability(int): 내구도 부여. stacksTo와 동시 사용 불가.
  • craftRemainder(Item): 조합 후 남는 아이템 지정.

다음 챕터에서는 FoodProperties를 사용해서 먹을 수 있는 아이템을 만듭니다.

첫 아이템 등록 — first_item

DeferredRegister.Items로 첫 아이템을 등록하고 텍스처/모델/lang 파일을 추가해 인게임에서 보이게 만드는 전체 과정을 학습합니다.

모드 전용 크리에이티브 탭 만들기

CreativeModeTab.Builder로 모드 전용 크리에이티브 탭을 등록하고 displayItems에 아이템들을 추가하는 방법, BuildCreativeModeTabContentsEvent로 Vanilla 탭에 추가하는 방법을 학습합니다.

On this page

Item.Properties — 아이템 속성 빌더1. 빌더 패턴 기본 구조2. 주요 속성 메소드3. stacksTo4. rarity5. fireResistant6. durability7. craftRemainder8. 조합 예시요약
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