데이터 컴포넌트 이후의 /give 명령어: NBT 태그를 대체한 것들
1.20.5에서 아이템 NBT가 데이터 컴포넌트로 대체되었지만, 온라인에 있는 대부분의 /give 명령어 예시는 여전히 예전 방식으로 작성되어 있습니다. 여기 여러분이 알고 있는 태그에서 지금 작동하는 컴포넌트로의 대응표가 있습니다.
예전 가이드에서 /give 명령어를 복사했는데 게임이 구문 오류로 거부한다면, 그 명령어는 1.20.5 이전의 NBT 형식으로 작성된 것입니다. 아이템 데이터는 데이터 컴포넌트로 옮겨졌고, 예전 {display:{Name:...}} 덩어리는 더 이상 파싱되지 않습니다.
형태가 바뀌었습니다
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name="Skybreaker",enchantments={sharpness:5}]
중괄호가 아니라 대괄호입니다. 컴포넌트는 아이템 ID 뒤에 쉼표로 구분된 평평한 목록으로 붙습니다.
실제로 자주 찾게 되는 대응표
| 예전 NBT | 데이터 컴포넌트 |
|---|---|
display:{Name:...} | custom_name |
display:{Lore:[...]} | lore |
Enchantments:[{id,lvl}] | enchantments={id:level} |
Unbreakable:1b | unbreakable={} |
CustomModelData:3 | custom_model_data={floats:[3]} |
AttributeModifiers:[...] | attribute_modifiers |
display:{color:...} | dyed_color |
SkullOwner | profile |
세 가지 함정
- 따옴표 처리.
custom_name는 SNBT로 작성된 텍스트 컴포넌트를 받으므로, 평범한 이름은 그냥custom_name="Skybreaker"입니다. 1.20.5 시절 가이드에 있던 예전custom_name='"Skybreaker"'형식은 이제 따옴표가 그대로 보이는 이름으로 아이템을 지정하게 됩니다. - 기본값 제거하기. 아이템이 원래 가지고 있는 컴포넌트를 없애려면
!를 앞에 붙이세요 —[!attribute_modifiers]는 공격력 보너스가 전혀 없는 검을 만들어 줍니다. - Bedrock에는 이게 없습니다. Bedrock
/give는 여전히 자체적인 데이터 값과 컴포넌트 모델을 사용하므로, Java 컴포넌트 문자열은 거기서 실행되지 않습니다.
/give 생성기가 컴포넌트 형식을 대신 작성해 주고 두 에디션의 출력을 모두 보여주므로, 접속 중인 서버에 맞는 쪽을 복사하면 됩니다.