MCTOOLBOX
MC ToolboxMC TOOLBOX
Java 명령어 마이그레이션

Minecraft NBT를 컴포넌트로 변환하는 도구

1.20.4 및 이전 버전의 레거시 Java 아이템 NBT를 1.20.5, 1.21.x 및 현재 26.x 릴리스용 아이템 컴포넌트 구문으로 변환합니다. 명령어는 브라우저에 유지됩니다.

레거시 입력

이전 아이템 NBT 또는 /give 명령어

예시 불러오기:

변환된 출력

현재 /give 명령어

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'Frost Blade',color:'aqua',italic:false},minecraft:lore=[{text:'Forged below Y -59',color:'gray'}],minecraft:damage=12,minecraft:repair_cost=3,minecraft:custom_model_data={floats:[27]},minecraft:unbreakable={},minecraft:enchantments={'minecraft:sharpness':5},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

변환된 컴포넌트

8

감지된 아이템

minecraft:diamond_sword

변환된 컴포넌트

  • display.Nameminecraft:custom_name
  • display.Loreminecraft:lore
  • Damageminecraft:damage
  • RepairCostminecraft:repair_cost
  • CustomModelDataminecraft:custom_model_data
  • Unbreakableminecraft:unbreakable
  • Enchantmentsminecraft:enchantments
  • HideFlagsminecraft:tooltip_display

인식된 필드

이름, lore, enchantments, damage, repair cost, unbreakable, CustomModelData, potion data, profiles, attributes 및 adventure-mode predicates는 컴포넌트에 매핑됩니다.

버전 인식 출력

Minecraft 1.21.4는 CustomModelData를 변경했으며, 1.21.5는 여러 컴포넌트를 단순화하고 tooltip_display를 도입했습니다. 실제로 실행 중인 서버 버전을 선택하세요.

안전한 대체

알 수 없는 태그는 minecraft:custom_data에 보존되며 검토를 위해 나열됩니다. 변환기는 custom_data가 더 이상 사용되지 않는 게임 메커니즘을 작동시키는 것처럼 가장하지 않습니다.

Minecraft가 아이템 NBT를 컴포넌트로 대체한 이유

Minecraft Java 1.20.5는 대부분 구조화되지 않은 이전 아이템 태그를 유형화된 데이터 컴포넌트로 대체했습니다. 명령어에서 컴포넌트는 아이템 ID 뒤에 대괄호로 묶여 쉼표로 구분되어 나타납니다. Damage는 minecraft:damage가 되었고, display.Name은 minecraft:custom_name이 되었으며, Enchantments는 minecraft:enchantments가 되었고, 임의의 사용자 지정 필드는 minecraft:custom_data로 이동했습니다.

이것은 일회성 구문 변경이 아니었습니다. Minecraft 1.21.4는 custom_model_data를 새로운 아이템 모델 시스템에서 사용되는 목록으로 확장했습니다. Minecraft 1.21.5는 툴팁 가시성을 minecraft:tooltip_display로 옮기고 enchantments, attributes, dyed colors 및 adventure-mode predicates를 단순화했습니다. 현재 26.x 명령어는 이 새로운 컴포넌트 형식에서 계속됩니다.

변환기는 알려진 아이템 필드를 매핑할 수 있지만, 모든 명령어 블록이나 데이터 팩을 자동으로 복구할 수는 없습니다. 엔티티 NBT, 블록 엔티티 데이터, loot functions, predicates 및 텍스트 컴포넌트도 버전 간에 변경되었습니다. 생성된 명령어는 항상 대상 월드의 복사본 또는 스테이징 서버에서 테스트하세요.

이전 /give 명령어를 변환하는 방법

  1. 11.20.4 또는 이전 버전의 Java Edition /give 명령어를 붙여넣으세요. 중괄호 사이의 컴파운드만 붙여넣을 수도 있습니다.
  2. 2정확한 대상 패밀리를 선택하세요. 현재 서버에는 1.21.5 - 26.x를 사용하고, 이전 1.20.5 컴포넌트 형태는 사용하지 마세요.
  3. 3모든 경고를 읽으세요. 보존된 custom_data는 안전한 저장 공간이지만, 더 이상 사용되지 않는 Damage, Potion 또는 AttributeModifiers 태그를 활성화하지 않습니다.
  4. 4생성된 명령어를 복사하고, 데이터 팩 또는 명령어 블록 시스템의 명령어를 교체하기 전에 임시 월드에서 테스트하세요.

이 변환기가 변경하지 않는 것

한 번에 하나의 아이템 스택 또는 /give 명령어를 변환합니다. 전체 데이터 팩을 스캔하거나, execute if data 검사를 다시 작성하거나, JSON 파일에 저장된 아이템 predicates를 업데이트하지 않습니다.

Bedrock 아이템 JSON은 변환하지 않습니다. Java 아이템 컴포넌트와 Bedrock 애드온 컴포넌트는 일부 이름이 비슷해 보여도 다른 시스템입니다.

매우 오래된 버전의 텍스트 컴포넌트는 여전히 수동 현대화가 필요할 수 있습니다. 복잡한 플레이어 프로필, 사용자 지정 포션 효과 및 블록 엔티티 페이로드는 대상 릴리스에 대해 확인해야 합니다.

NBT를 컴포넌트로 변환 FAQ

1.20.5에서 이전 /give 명령어가 작동하지 않는 이유는 무엇인가요?

Java 1.20.5는 아이템 데이터를 이전 {tag} 구조에서 아이템 ID 뒤에 대괄호로 작성된 유형화된 컴포넌트로 옮겼습니다.

모든 이전 태그를 minecraft:custom_data 안에 넣을 수 있나요?

임의의 필드를 거기에 보존할 수 있지만, 내장된 메커니즘은 더 이상 custom_data에서 Damage 또는 Enchantments와 같은 이전 구조 태그를 읽지 않습니다. 실제 컴포넌트가 필요합니다.

Minecraft 26.2 또는 26.3에는 어떤 대상을 사용해야 하나요?

Minecraft 1.21.5 - 26.x를 사용하세요. 이 출력은 새로운 컴포넌트 시스템의 단순화된 enchantment 및 attribute 형태와 tooltip_display를 사용합니다.

변환기가 전체 명령어를 지원하나요?

네. 레거시 /give 대상, 아이템 ID, NBT 컴파운드 및 개수를 읽은 다음 현재 /give 명령어를 재구성합니다. 독립형 NBT 컴파운드도 허용합니다.

BlockEntityTag에 대한 경고가 있는 이유는 무엇인가요?

현재 block_entity_data는 유효한 블록 엔티티를 식별해야 합니다. 일부 이전 명령어는 아이템 유형에 의존하고 ID를 생략했으므로 해당 필드는 수동 검토가 필요합니다.

변환은 서버에서 수행되나요?

아니요. 파싱 및 변환은 브라우저에서 로컬로 실행됩니다. 명령어는 이 도구에 의해 업로드되지 않습니다.