아이템 프리셋
마인크래프트 1.20.5+ 아이템 컴포넌트 Give 명령어
Java 1.20.5에서 아이템 명령어의 문법 중심이 컴포넌트로 옮겨졌습니다. 이 글은 정확한 마이그레이션 검색 의도, 즉 옛 NBT 예시를 그대로 Copy하는 대신 give 명령어를 아이템 컴포넌트로 표현하는 방법을 다룹니다.
preset 결과
마이그레이션하기 전에 옛 Java 아이템 NBT와 직접 비교할 수 있는 최신 컴포넌트 형태의 /give 명령어입니다.
출력
Java 1.20.5+ 컴포넌트 Output
/give @p minecraft:diamond_sword[custom_name={text:"Component Blade",color:"gold",italic:false},lore=[{text:"Built with Java 1.20.5+ item components",color:"gray",italic:false}],enchantments={"minecraft:sharpness":5},unbreakable={},custom_data={component_demo:1}] 1The longest command line is 265 characters, 9 over the 256-character chat input limit. Pasting it into chat can truncate the line and make Minecraft report a syntax error even when the generated command is valid.
- Use a Command Block: run
/give @s command_block, place it, then paste this command into the block command field. - Use a
.mcfunctionfor a reusable datapack: save the line without the leading slash atsaves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunctionwith a minimalpack.mcmeta, run/reload, then run/function <ns>:<name>. Do not paste.mcfunctioncontent into chat.
preset 스크린샷
preset 만들기
- 아이템을 편집하기 전에 버전 선택기를 Java 1.20.5 이상으로 설정합니다.
- Give Workbench에서 custom_name, 설명문 (lore), 인챈트, unbreakable, custom_data를 차례로 추가합니다.
- 옛 맵을 마이그레이션 중이라면 Output을 Java 1.20.4 가이드와 비교해 보십시오.
- Copy는 대상 서버 버전이 확인된 뒤에만 컴포넌트 Output으로 진행합니다.
1.20.4 이후 달라진 점
예전에는 NBT로 저장되던 많은 아이템 세부 정보가 이제 아이템 컴포넌트로 기록됩니다. 여기에는 custom_name, 설명문 (lore), 인챈트, unbreakable, custom_data 같은 일반적인 필드가 포함됩니다.
NBTForge가 버전 선택기를 계속 노출하는 이유는, 이 차이가 단순한 외형이 아니라 문법 자체의 선택이기 때문입니다.
- 레거시 NBT Output에는 1.20.4 이하 버전을 사용하십시오.
- 컴포넌트 Output에는 1.20.5 이상 버전을 사용하십시오.
- Command Pack 전체를 마이그레이션할 때에는 Java 아이템 컴포넌트 가이드를 참고하십시오.
마이그레이션 워크플로
옛 명령어 문자열에서 출발하지 말고, 옛 아이템의 의도에서 출발하십시오. Give Workbench에서 아이템을 다시 만들고, 최신 버전을 설정한 다음, 생성된 Output을 비교하십시오.
해당 아이템이 loot table, 상점, 장비 소환에도 등장한다면, 재구성된 컴포넌트 아이템을 Project에 저장해 두어 다른 명령어들이 같은 원본을 공유하도록 만드십시오.
프리셋을 실제 Project에 맞추기
마인크래프트 1.20.5+ 아이템 컴포넌트 Give 명령어는 단순히 복사된 문자열이 아니라 검증된 출발점으로 다루십시오. 한 번 Output이 잘 작동하면 명확한 Project 이름으로 저장하고, 대상 마인크래프트 버전을 기록한 뒤, scoreboard·Boss 바·loot·라인 초기화 같은 관련 설정 명령어 근처에 프리셋을 보관하십시오.
프리셋을 맵, 서버, Command Pack에 게시하기 전에는 라이브 Workbench에서만 실행하지 말고 복사된 산출물 자체로도 실행해 보십시오. 그래야 누락된 의존성, 낡은 셀렉터, 잘못된 버전 선택, 그리고 단지 로컬 테스트 상태가 이미 존재했기 때문에 동작하던 명령어까지 잡아낼 수 있습니다.
- 공유 명령어에서는 선택된 Edition과 Version을 그대로 유지하십시오.
- 피해, 처치, 제거, 텔레포트를 사용하기 전에 무해한 명령어로 셀렉터를 먼저 테스트하십시오.
- 긴 명령어를 채팅 창에 그대로 붙이는 대신 Project 또는 함수 형태의 워크플로로 옮기십시오.
- 엔티티, 아이템 컴포넌트, 탑승자, 데이터팩 리소스를 변경한 뒤에는 경고를 다시 확인하십시오.
FAQ
옛 NBT 명령어를 1.20.5+ 월드에 그대로 붙여 넣어도 됩니까?
옛 예시 가운데 일부는 실패하거나 다르게 동작합니다. 대상 월드가 Java 1.20.5 이상이라면 아이템을 컴포넌트 형태로 다시 만드십시오.
custom_data는 예전의 사용자 정의 NBT와 같은 역할입니까?
현재 Java 아이템 Output에서 안정적인 사용자 정의 아이템 데이터를 위해 사용하는 최신 컴포넌트입니다.
이 프리셋은 언제 Command Pack의 일부로 다루어야 합니까?
Output이 설정 라인, 명령어 초기화, loot 리소스, scoreboard 상태, 반복 테스트에 의존하는 경우 Command Pack 아이템으로 다루십시오. 안전한 단일 명령어라면 여전히 Output에서 직접 Copy해도 무방합니다.
이 작업 흐름 열기
관련 Give 작업대에서 시작한 뒤 월드에 맞게 preset 필드를 조정합니다.