이 문서는 개체, 아이템, 블록의 데이터 문자열을 편집할 때 사용하는 도구인 'NBT 편집'을 소개합니다. 또한 추후 게임 플레이에 문제가 생기지 않도록 편집하는 방법을 알아봅니다.
이 튜토리얼에서는 다음과 같은 사항을 안내해 드립니다.
- NBT 데이터는 무엇이며 어떻게 사용하는지 알아봅니다.
- NBT 데이터를 편집해야 하는 이유를 알아봅니다.
- NBT 데이터를 편집하는 연습을 알아봅니다.
요구 사항
튜토리얼을 시작하기 전에 아래 사항을 완료하시길 추천합니다.
최근 몇 년간 Minecraft 맵메이커들은 외부 도구를 사용해 개체, 아이템, 일부 블록의 이름, 피해 값, 나이 등의 데이터를 저장하는 'NBT'를 편집하는 것이 일반적인 일이 되었습니다. NBT는 기본적으로 태그 목록 및 상응하는 값입니다. 예를 들어 좀비 피그맨은 다른 태그들과 함께 ID 태그에 zombie_pigman이라는 값을 가지고 있습니다. MCEdit이나 MCCToolChest 같은 도구를 사용해 NBT를 편집하는 것은 훌륭한 결과물을 낳고 많은 시간을 절약할 수 있습니다. 한 예로 몹의 이름을 바꾸려면 CustomName 태그의 값을 바꾸는 도구를 쓰는 것이 이름 태그와 모루를 게임 상에서 바꾸는 것보다 쉬울 것입니다.
하지만 NBT를 편집하면 Minecraft가 업데이트될 때 게임에서 일부 태그를 작성하고 불러오는 방식이 변경되어 문제가 생기는 경우도 있습니다. Minecraft의 대부분의 기능은 플레이를 위해 제작되며 외부 도구 편집용이 아닙니다. 외부 도구는 게임 플레이를 가장하는 것입니다. 게임 내에서 상자의 내용물을 변경할 수 있으며 MCCToolChest 같은 도구로 NBT 데이터를 수정한다면 똑같은 효과를 볼 수 있습니다. 맵메이커들이 도구를 이용해 NBT를 이론상 게임 내에서 작동할 수 없는 방식으로 편집하면 가끔 문제가 생기기도 합니다.
중요
가장 중요한 규칙은:게임에서 한 번도 구현된 적이 없는 방식으로 편집을 한다면 문제가 생길 수 있습니다. NBT 값이 게임에서 저장된 값인지 도구로 편집된 것인지 구분할 수 없다면 대체로 안전하다고 할 수 있습니다.
이미 작성된 NBT의 텍스트를 수정하는 것은 문제 없습니다. 하지만 NBT의 게임 내 캐릭터의 한계를 넘는 내용을 적는 것은 문제가 됩니다. 고양이의 CatType을 5로 바꾸면 삼색 고양이가 되지만 5000으로 바꾸는 건 좋은 생각이 아닐 겁니다.
Minecraft 개발자들이 만든 코드는 개발자들이 프로그래밍한 편집 방법으로 편집되는 것이 바람직합니다. NBT 태그를 적절하게 편집하면 멋진 결과를 얻을 수 있습니다. 하지만 태그가 작동되는 방식이 추후에 변경되지 않는다는 보장이 없으며 애초에 태그가 여러분이 편집한 방법대로 편집되는 것을 의도하지 않았을 수도 있습니다.
예를 들어 지도를 제작할 때 주민의 NBT 태그를 일부 수정해 사용자 지정 주민이 거래를 하도록 만들었습니다. 이런 변경은 주로 TradeTier 태그를 음수로 변경하여 주민들이 Minecraft 서바이벌 모드처럼 새 거래 품목을 잠금 해제하지 않게 만듭니다. Minecraft 개발자들은 거래가 이런 방식으로 이뤄지기를 의도하지 않았기에 '마을과 약탈' 업데이트에서 TradeTier 태그가 작동하는 방식을 기초부터 변경하여 많은 사용자 지정 주민들에 문제가 생겼습니다. 이제 사용자 지정 거래는 주로 해당 목적을 이루는 기능을 추가해 개발된 노획물 목록 함수로 다루게 됩니다.
하지만 예외도 있습니다. 대부분의 경우 제작자들이 몇 년에 걸쳐 NBT를 편집해 만든 결과물들로 Minecraft 개발자들이 해당 결과물이 지원이 되도록 개발하는 경우입니다. 예를 들어 아이템의 lore 태그를 게임 상에서 편집하는 방법이 없지만 편집기에서 작성하는 것은 안전하다고 여겨집니다.
이 문서로 단순히 NBT 편집을 뛰어 넘어 행동, 명령어, 대본, 기타 게임 기능 등을 원래 의도와 다른 방법으로 사용했을 경우 흥미로운 결과를 만들 수도 있습니다. Minecraft는 살아있는 게임으로 기능이 꾸준히 변하고 있습니다. 개발자들이 여러분의 콘텐츠에 오류가 발생하지 않게 최대한 노력하고 있으며 개발자들은 의도적으로 프로그래밍한 기능을 알고 있는 것으로 충분합니다. 제작자들이 의도되지 않은 '속임수'에 계속 의존해서 콘텐츠에 오류가 계속 생긴다면 제작자, 플레이어, Microsoft 개발자들이 해결 방안을 찾아 책임을 지게 될 것입니다. 혹시 의심이 든다면 언제라도 콘텐츠를 새로 업데이트된 버전에서 테스트하여 오류가 있는지 확인하세요.