Editor NBT para Java Edition

Compatível com Minecraft Bedrock Edition e Java Edition — e com todos os softwares de servidor de ambas as edições, conhecidos ou não: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina e outros. Lista completa.

O Minecraft Java Edition armazena dados como NBT big-endian, quase sempre compactado com gzip. Solte abaixo qualquer arquivo Java: level.dat; um arquivo playerdata de UUID; servers.dat; uma estrutura .nbt ou um esquema do WorldEdit. O editor descompacta e processa o arquivo como big-endian, depois o grava novamente com gzip para que o jogo o aceite sem mudança de formato.

VanillaPaperSpigotPurpurFoliaFabricQuiltForgeNeoForgeSponge

Arraste um arquivo NBT Java aqui

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · dumps de chunks

Arquivos que compõem um mundo Java

Todos os itens abaixo abrem no editor. Arquivos de região (.mca) contêm vários chunks compactados, não um único documento NBT. Extraia primeiro os dados de um chunk; o editor lê o NBT resultante compactado com zlib.

CaminhoConteúdoCompressão
world/level.datNome, modo de jogo, regras, spawn e DataVersiongzip
world/level.dat_oldSave anterior do mesmo arquivogzip
world/playerdata/<uuid>.datInventário, baú do End, posição, vida, XP e atributosgzip
world/data/raids.dat, idcounts.dat, map_*.datEstado das raids, contadores de ID de entidades e mapasgzip
world/data/scoreboard.datObjetivos, equipes e pontuaçõesgzip
world/region/*.mcaNBT do chunk em um contêiner de regiãozlib por chunk
servers.datLista de servidores multiplayer do clientenenhuma
hotbar.nbtBarras rápidas do criativo salvasnenhuma
*.nbt em datapacksEstruturas colocadas por blocos de estrutura e jigsawsgzip

Como o Java codifica NBT

  • Big-endian. Cada inteiro e float armazena primeiro o byte mais significativo, como no DataOutputStream.
  • Raiz nomeada. O arquivo começa com a tag de tipo 0x0A, seguida pelo nome da raiz em UTF-8 com prefixo de tamanho, historicamente vazio em level.dat.
  • UTF-8 modificado. As strings usam a codificação writeUTF do Java: tamanho de dois bytes, NUL gravado como C0 80, e caracteres fora do plano básico divididos em duas metades de três bytes (CESU-8). Ferramentas que tratam isso como UTF-8 comum corrompem emojis; este editor codifica corretamente.
  • gzip por padrão. NbtIo.readCompressed espera um fluxo gzip. Arquivos sem compressão abrem em algumas ferramentas, mas não no jogo.
  • Raiz sem nome na rede. Desde a versão 1.20.2, o protocolo envia NBT sem o nome da raiz. Capturas nesse formato são detectadas como rede Java aqui.

Paper, Spigot, Fabric e Forge: os mesmos arquivos

Forks e mod loaders mudam a execução do servidor, não a gravação do mundo. Paper, Purpur, Pufferfish, Folia, Fabric, Quilt, Forge, NeoForge, Mohist, Arclight e Sponge usam a estrutura NBT do Vanilla, portanto estas instruções valem para todos. Os forks podem adicionar arquivos extras, como paper-world.yml, e configurações de mods em YAML ou TOML, que não são NBT.

Mods e plugins podem adicionar compounds próprios em level.dat ou playerdata. Essas tags abrem normalmente; não as altere sem saber como o mod as utiliza.

DataVersion e migração de versão

Mundos Java contêm um DataVersion inteiro que identifica o formato do mundo e aumenta a cada snapshot. Referências: 1.16.5 = 2586, 1.17.1 = 2730, 1.18.2 = 2975, 1.19.4 = 3337, 1.20.4 = 3700 e 1.21 = 3953. Clientes mais antigos recusam o mundo por essa tag. Reduzi-la manualmente não converte os chunks; apenas remove a proteção. Use-a para identificar a versão, não para forçar downgrade.

Perguntas frequentes

Posso abrir um level.dat Java que não carrega no jogo?

Geralmente sim. O editor tolera bytes excedentes e informa onde a leitura parou se o arquivo estiver truncado. Se ele também recusar, tente level.dat_old, o salvamento automático anterior.

Aceita NBT de rede da versão 1.20.2 ou superior?

Sim. Desde a 1.20.2, o protocolo omite o nome da raiz. Uma captura nesse formato é detectada como rede Java e pode ser salva como NBT de rede ou arquivo comum com raiz nomeada.

Posso editar um chunk de um arquivo de região .mca?

Você pode editar o NBT após extraí-lo do contêiner de região. O .mca contém um índice e vários chunks compactados com zlib; este editor trabalha com um documento NBT, não com o contêiner.

Editar playerdata pode corromper o jogador?

Isso pode ocorrer se o servidor estiver ligado: ele mantém o estado na memória e sobrescreve o arquivo ao desconectar. Tire o jogador do servidor, edite e permita a reconexão. Consulte o editor de playerdata.

O level.dat precisa usar gzip?

O carregador Vanilla lê gzip. Salve com a compressão definida como gzip, opção padrão quando o arquivo já usa esse formato.

Ferramentas relacionadas