Editor NBT para Java Edition

Compatible con Minecraft Bedrock Edition y Java Edition, y con todos sus núcleos de servidor, conocidos o no: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina y el resto. Lista completa.

Minecraft Java Edition almacena sus datos como NBT big-endian, casi siempre comprimido con gzip. Arrastra abajo cualquier archivo de Java —level.dat, un archivo UUID de playerdata, servers.dat, una estructura .nbt o un esquema de WorldEdit— y el editor lo descomprimirá, lo analizará como big-endian y lo volverá a escribir con gzip para que el juego lo acepte sin cambios.

VanillaPaperSpigotPurpurFoliaFabricQuiltForgeNeoForgeSponge

Arrastra un archivo NBT de Java aquí

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

De qué se compone un mundo de Java

Todo lo indicado abajo se abre en el editor. Los archivos de región (.mca) contienen muchos chunks comprimidos y no son un único documento NBT; primero extrae la carga útil de un chunk. El editor puede leer el NBT del chunk comprimido con zlib.

RutaContenidoCompresión
world/level.datNombre, modo, reglas, aparición y DataVersion del mundogzip
world/level.dat_oldCopia guardada anteriormente del mismo archivogzip
world/playerdata/<uuid>.datInventario, cofre de Ender, posición, salud, XP y atributosgzip
world/data/raids.dat, idcounts.dat, map_*.datEstado de incursiones, contadores de entidades y mapasgzip
world/data/scoreboard.datObjetivos, equipos y puntuacionesgzip
world/region/*.mcaNBT de chunks dentro de un contenedor de regiónzlib por chunk
servers.datLista de servidores multijugador del clienteninguna
hotbar.nbtBarras rápidas guardadas del modo creativoninguna
*.nbt en paquetes de datosEstructuras colocadas por bloques de estructura y jigsawsgzip

Cómo codifica NBT Java

  • Big-endian. Cada entero y número de punto flotante guarda primero el byte más significativo, igual que DataOutputStream de Java.
  • Raíz con nombre. El archivo comienza con el tipo de etiqueta 0x0A y luego un nombre de raíz UTF-8 precedido por su longitud; históricamente está vacío en level.dat.
  • UTF-8 modificado. Las cadenas usan la codificación writeUTF de Java: longitud de dos bytes, NUL como C0 80 y caracteres fuera del plano básico divididos en dos mitades de tres bytes (CESU-8). Este editor la codifica correctamente para no dañar emojis en nombres de mundos.
  • gzip de forma predeterminada. NbtIo.readCompressed espera un flujo gzip. Algunos programas abren archivos sin comprimir, pero el juego no.
  • Raíz sin nombre en la red. Desde 1.20.2, el protocolo envía NBT sin nombre de raíz. Aquí esas capturas se detectan como red Java.

Paper, Spigot, Fabric y Forge: los mismos archivos

Los forks y cargadores de mods cambian cómo se ejecuta el servidor, no cómo se escribe el mundo. Paper, Purpur, Pufferfish, Folia, Fabric, Quilt, Forge, NeoForge, Mohist, Arclight y Sponge usan la estructura NBT de Vanilla. Los archivos adicionales, como paper-world.yml y las configuraciones de mods, son YAML o TOML y no forman parte de NBT.

Los mods y plugins pueden agregar sus propios compuestos dentro de level.dat o playerdata. Se abren como cualquier otra etiqueta; no los modifiques si desconoces cómo los usa el mod.

DataVersion y migración de versiones

Los mundos de Java incluyen el entero DataVersion, que identifica el formato del mundo y aumenta con cada snapshot. Algunos valores útiles: 1.16.5 es 2586, 1.17.1 es 2730, 1.18.2 es 2975, 1.19.4 es 3337, 1.20.4 es 3700 y 1.21 es 3953. Un cliente anterior rechaza el mundo por esta etiqueta, pero reducirla a mano no convierte los datos de los chunks. Úsala para identificar qué versión escribió el mundo; no para forzar una regresión de versión.

Preguntas frecuentes

¿Puedo abrir un level.dat de Java que no carga en el juego?

Normalmente sí. El editor tolera bytes finales mejor que el juego e indica dónde se detuvo el análisis si el archivo está truncado. Si tampoco lo abre, prueba level.dat_old, la copia del guardado automático anterior.

¿Admite NBT de red de 1.20.2 o posterior?

Sí. Desde 1.20.2, el protocolo omite el nombre de la raíz. El editor detecta esa forma como red Java y puede guardarla como NBT de red o como un archivo normal con raíz nombrada.

¿Puedo editar un chunk de un archivo de región .mca?

Puedes editar el NBT del chunk después de extraerlo del contenedor de región. El archivo .mca contiene un índice y muchas cargas de chunks comprimidas con zlib; este editor trabaja con un solo documento NBT.

¿Editar playerdata puede dañar al jugador?

Solo si el servidor sigue ejecutándose: conserva el estado del jugador en memoria y lo escribe al desconectarse, sobrescribiendo el archivo. Desconecta al jugador, edita y luego permite que vuelva a entrar. Consulta el editor de playerdata.

¿Es obligatorio que level.dat use gzip?

El cargador de Vanilla lee gzip. Guarda con la compresión configurada en gzip —la opción predeterminada si el archivo llegó así— para que el juego lo acepte.

Herramientas relacionadas