Bedrock NBT 편집기 — Java Edition도 지원

Minecraft Bedrock Edition과 Java Edition을 지원합니다. Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina 등 유명하거나 잘 알려지지 않은 양쪽 에디션의 모든 서버 코어를 지원합니다. 전체 목록

Bedrock Edition과 모든 Bedrock 서버 코어를 지원하며, 잘 알려지지 않은 코어까지 포함해 Java Edition의 모든 서버 코어도 지원합니다. 아래 상자에 level.dat, playerdata, .nbt, .mcstructure, .schem 또는 .schematic 파일을 놓고 트리에서 원하는 태그를 수정한 뒤, 정확히 같은 바이너리 형식으로 다시 다운로드하세요. 바이트 순서, 헤더, 압축 방식은 자동으로 감지됩니다. 모든 작업은 브라우저에서 이루어지므로 업로드, 계정, 설치가 필요 없습니다.

Bedrock EditionJava EditionVanillaPaperSpigotPurpurPufferfishFoliaLeavesFabricQuiltForgeNeoForgeMohistArclightSpongeBedrock Dedicated ServerPocketMine-MPNukkitPowerNukkitXNukkit-MOTCloudburstDragonflyEndstoneLeviLaminaAllayJukeboxMCGoMintGeyserWaterdogPE

여기에 모든 NBT 파일 놓기

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · 청크 덤프

Minecraft가 생성하는 모든 NBT 파일

NBT(Named Binary Tag)는 여러 인코딩을 사용하는 하나의 형식이며, Minecraft의 각 에디션과 런처, 서버 코어는 서로 다른 조합을 씁니다. 이 편집기는 그 조합을 모두 구현하고 파일 바이트만으로 알맞은 형식을 선택합니다. 따라서 파일을 열기 전에 어떤 변형인지 알아둘 필요가 없습니다.

파일생성 위치인코딩압축
level.datJava 월드 — Vanilla, Paper, Spigot, Fabric, Forge빅 엔디언, 이름 있는 루트gzip
level.datBedrock 월드 — BDS, PocketMine-MP, Nukkit, MCPE리틀 엔디언 + 8바이트 헤더없음
<uuid>.datJava playerdata/빅 엔디언gzip
servers.dat, hotbar.nbtJava 클라이언트빅 엔디언없음
idcounts.dat, raids.dat, map_*.datJava 월드 data/빅 엔디언gzip
.nbt구조물 블록, 데이터 팩 구조물빅 엔디언gzip
.schem, .schematicWorldEdit, Sponge, MCEdit빅 엔디언gzip
.mcstructureBedrock 구조물 블록리틀 엔디언없음
청크 페이로드리전 .mca 추출물, LevelDB 값두 바이트 순서 모두zlib 또는 없음
패킷 덤프Bedrock 프로토콜, Java 1.20.2+ 프로토콜Varint LE / 이름 없는 BE없음

NBT 파일 편집 방법

  1. 서버나 기기에서 파일을 꺼냅니다. Java 서버는 world/, Bedrock 서버는 worlds/YourWorld/, Android는 games/com.mojang/minecraftWorlds/<id>/에 파일을 보관합니다. 복사하는 동안 파일이 기록되지 않도록 먼저 서버를 중지하세요.
  2. 파일을 편집기에 놓습니다. 트리 위의 배지에 감지된 에디션, 인코딩, 압축 방식이 표시됩니다. Bedrock 파일은 헤더에 기록된 저장소 버전도 표시됩니다.
  3. 수정합니다. 값을 누르면 그 자리에서 바꿀 수 있습니다. 검색으로 이름이나 값을 찾아 태그로 이동하고, +로 compound 또는 list에 태그를 추가하며, ×로 제거하세요.
  4. 저장 및 다운로드를 누릅니다. 출력 형식과 압축 선택기는 원본 파일 형식을 기본값으로 사용하므로, 단순히 수정하면 바이트 구조를 충실히 유지한 채 다시 저장됩니다.
  5. 파일을 원래 위치에 넣고 다시 시작합니다. 월드가 한 번 정상적으로 로드되고 문제가 없는지 확인할 때까지 원본을 백업으로 보관하세요.

이 편집기의 차이점

다섯 가지 인코딩을 한 곳에서

Java 빅 엔디언, Bedrock 리틀 엔디언, Bedrock varint 네트워크 NBT, Java 1.20.2+의 이름 없는 루트 네트워크 NBT, 헤더가 있는 Bedrock level.dat를 처리합니다. 추측하지 않고 직접 감지합니다.

브라우저에서 gzip과 zlib 처리

압축 해제와 재압축에 브라우저의 기본 Compression Streams API를 사용합니다. Java level.dat를 열었다 저장해도 게임이 그대로 인식합니다.

정확한 64비트 long

TAG_Long 값은 BigInt로 유지됩니다. 월드 시드와 UUID 절반 값이 부동 소수점 반올림으로 손상되지 않습니다. 많은 브라우저 NBT 도구가 이 부분에서 오류를 냅니다.

올바른 문자열 인코딩

Java는 수정된 UTF-8(CESU-8)을, Bedrock은 표준 UTF-8을 씁니다. 편집기가 에디션에 맞춰 인코딩하므로 이모지와 비라틴 문자로 된 월드 이름도 온전히 유지됩니다.

큰 파일에 맞춘 설계

배열은 형식화 배열로 보관하고 트리는 한 번에 200개 항목씩 지연 렌더링합니다. 수 메가바이트짜리 청크 NBT도 탭을 멈추지 않고 열 수 있습니다.

트리 전체 검색

파일 어디에 있든 이름이나 값으로 태그를 찾고, 경로를 펼친 상태로 바로 이동할 수 있습니다.

SNBT 내보내기

전체 트리를 /data와 데이터 팩에서 사용하는 텍스트 형식인 SNBT로 내보낼 수 있습니다. 파일 비교, 공유, 명령어 붙여넣기에 편리합니다.

형식 변환

Bedrock 파일을 읽어 Java 빅 엔디언 gzip으로 쓰거나 그 반대로 변환할 수 있습니다. 프로토콜 작업, 테스트, 도구 개발에 유용합니다.

파일은 기기 밖으로 나가지 않음

파일은 FileReader로 읽고 JavaScript에서 분석한 다음 메모리 내 blob으로 돌려줍니다. 파일을 받는 업로드 엔드포인트 자체가 없습니다.

모든 서버 소프트웨어 지원

NBT는 서버 구현체가 아니라 게임이 기록합니다. 따라서 Minecraft 월드를 저장하는 모든 코어는 이 편집기가 읽는 인코딩 중 하나를 사용합니다. 아래 목록은 단순한 홍보용 명단이 아닙니다. 월드를 기록하는 코어는 반대편 클라이언트가 읽을 수 있도록 Vanilla와 같은 구조로 저장해야 합니다.

Bedrock Edition — 리틀 엔디언 NBT, 8바이트 level.dat 헤더

Bedrock Dedicated Server (BDS), PocketMine-MP (PM3, PM4, PM5), Nukkit, Nukkit-MOT, PowerNukkitX, Cloudburst Server, Dragonfly, Endstone, LeviLamina 및 BDSX, Allay, JukeboxMC, GoMint, Sculk, ElementZero, LiteLoaderBDS, 그리고 Android, iOS, Windows, 콘솔, Switch의 MCPE와 MCBE 클라이언트 자체를 지원합니다. 모두 같은 worlds/<World>/level.dat, 같은 헤더, 같은 태그를 사용합니다. 자세한 내용은 서버 측 작업 절차를 참고하세요.

Java Edition — 빅 엔디언 NBT, gzip

Vanilla, CraftBukkit, Spigot, Paper, Purpur, Pufferfish, Folia, Leaves, Gale, Petal, Airplane, Sponge (SpongeVanilla, SpongeForge), Fabric, Quilt, Forge, NeoForge, Mohist, Arclight, Magma, Ketting, Banner, Cardboard, Glowstone, Thermos, Uberbukkit를 비롯해 그 밖의 모든 포크, 모드팩 서버, 오래된 레거시 빌드를 지원합니다. world/level.dat를 기록하는 서버라면 이 편집기로 열 수 있습니다. 자세한 설명도 확인하세요.

프록시와 브리지

Geyser, WaterdogPE, Waterfall, Velocity, BungeeCord는 월드를 직접 보유하지 않고 네트워크로 NBT를 전달합니다. 해당 소켓에서 캡처한 데이터는 네트워크 NBT입니다. Bedrock 측은 varint 리틀 엔디언, Java 1.20.2+는 이름 없는 루트 빅 엔디언을 사용하며 둘 다 여기서 바로 열 수 있습니다.

목록에 없는 소프트웨어

사용자 정의 포크, 비공개 코어, 교육용 프로젝트, 직접 만든 서버라도 파일이 NBT라면 편집기가 다섯 가지 인코딩 중 어떤 것인지 감지해 엽니다. 특정 코어 이름에 맞춰 동작하는 부분은 없습니다.

자체 코드에서 파서 사용하기

이 페이지는 엔진을 window.NBT로 노출합니다. 따라서 UI를 구동하는 것과 같은 파서를 브라우저 콘솔에서 조작하거나 사용자 스크립트에 재사용할 수 있습니다.

const bytes = new Uint8Array(await file.arrayBuffer());
const { root, format, compression, headerVersion } = await NBT.read(bytes);

root.value.find(t => t.name === "LevelName").value = "New World";

const out = await NBT.write(root, format, { compression, headerVersion });

태그는 { type, name, value, listType } 형태의 일반 객체이고, 배열은 Int8Array, Int32Array, BigInt64Array이며, long은 BigInt입니다. 전체 NBT 형식 참고 자료에서 모든 태그 유형과 인코딩별 차이를 설명합니다.

자주 묻는 질문

이 NBT 편집기는 무료인가요?

네. MIT 라이선스의 오픈 소스이며 유료 요금제, 회원 가입, 업로드 할당량이 없습니다. 서버 구성 요소 없이 정적 페이지 하나와 애셋 파일 두 개만으로 편집기 전체가 작동하기 때문입니다.

Java Edition과 Bedrock Edition에서 모두 작동하나요?

둘 다 지원합니다. Java Edition 파일은 빅 엔디언이며 대개 gzip으로 압축됩니다. Bedrock 파일은 리틀 엔디언이고 level.dat에는 8바이트 헤더가 추가됩니다. 편집기가 어떤 형식인지 감지하고 저장할 때 같은 형식으로 다시 기록합니다.

월드 파일이 다른 곳에 업로드되나요?

아닙니다. FileReader API로 로컬 파일을 읽고 메모리 내 blob에서 다운로드 파일을 만듭니다. 페이지를 불러온 뒤에는 네트워크 연결을 끊어도 계속 작동합니다.

Android나 iOS에서도 사용할 수 있나요?

네. 모바일 우선 레이아웃에 44 px 터치 영역과 고정 작업 표시줄을 갖췄습니다. Android에서는 파일 관리자에서 월드 파일을 바로 고를 수 있습니다. iOS는 샌드박스 제한 때문에 먼저 파일 앱에 넣어야 합니다.

NBT와 SNBT는 무엇이 다른가요?

NBT는 Minecraft가 디스크에 저장하는 바이너리 인코딩입니다. SNBT는 /data merge 같은 명령어에 입력하는 텍스트 형식입니다. 이 편집기는 바이너리 NBT를 읽고 SNBT로 내보낼 수 있으므로 두 파일을 비교하거나 구조물을 명령어에 붙여넣기 쉽습니다.

어떤 도구를 대신할 수 있나요?

NBTExplorer 같은 데스크톱 NBT 편집기와 한 에디션만 처리하는 여러 단일 목적 웹 도구를 대신할 수 있습니다. 어떤 기능을 그대로 쓸 수 있고 어떤 차이가 있는지는 온라인 NBTExplorer 비교를 참고하세요.

관련 도구