การเข้ารหัสห้าแบบในช่องเดียว
Java big-endian, Bedrock little-endian, NBT เครือข่ายแบบ varint ของ Bedrock, NBT เครือข่ายแบบไม่มีชื่อรากของ Java 1.20.2+ และ level.dat. ระบบตรวจหาจากไฟล์ ไม่ได้คาดเดา
รองรับ 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 พร้อมซอฟต์แวร์เซิร์ฟเวอร์ Java ทุกแบบ รวมถึงแบบเฉพาะทาง วางไฟล์ level.dat, playerdata, .nbt, .mcstructure, .schem หรือ .schematic ลงในช่องด้านล่าง แก้ไขแท็กใดก็ได้ในโครงสร้าง แล้วดาวน์โหลดกลับในรูปแบบไบนารีเดิม ระบบตรวจหาลำดับไบต์ ส่วนหัว และการบีบอัดโดยอัตโนมัติ ทุกอย่างทำงานในเบราว์เซอร์ ไม่อัปโหลด ไม่ต้องมีบัญชี และไม่ต้องติดตั้ง
วาง ไฟล์ NBT ใดก็ได้ ที่นี่
level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · ข้อมูลชังก์ที่แยกออกมาNBT (Named Binary Tag) เป็นรูปแบบเดียวที่มีการเข้ารหัสหลายแบบ โดย Minecraft แต่ละ Edition ตัวเปิดเกม และซอฟต์แวร์เซิร์ฟเวอร์ใช้ส่วนผสมต่างกัน โปรแกรมนี้รองรับทั้งหมดและเลือกแบบที่ถูกต้องจากไบต์ของไฟล์ คุณจึงไม่ต้องรู้ชนิดก่อนเปิด
| ไฟล์ | แหล่งที่มา | การเข้ารหัส | การบีบอัด |
|---|---|---|---|
level.dat | โลก Java — Vanilla, Paper, Spigot, Fabric, Forge | Big-endian มีชื่อราก | gzip |
level.dat | โลก Bedrock — BDS, PocketMine-MP, Nukkit, MCPE | Little-endian + ส่วนหัว 8 ไบต์ | ไม่มี |
<uuid>.dat | Java playerdata/ | Big-endian | gzip |
servers.dat, hotbar.nbt | ไคลเอนต์ Java | Big-endian | ไม่มี |
idcounts.dat, raids.dat, map_*.dat | โลก Java data/ | Big-endian | gzip |
.nbt | Structure Block และโครงสร้างจาก datapack | Big-endian | gzip |
.schem, .schematic | WorldEdit, Sponge, MCEdit | Big-endian | gzip |
.mcstructure | Structure Block ของ Bedrock | Little-endian | ไม่มี |
| เพย์โหลดของชังก์ | ไฟล์ Region .mca ที่แยกออกมา หรือค่า LevelDB | ลำดับไบต์แบบใดก็ได้ | zlib หรือไม่บีบอัด |
| ข้อมูลแพ็กเก็ต | โปรโตคอล Bedrock หรือโปรโตคอล Java 1.20.2+ | Varint LE / BE ไม่มีชื่อราก | ไม่มี |
world/, เซิร์ฟเวอร์ Bedrock เก็บไว้ใน worlds/YourWorld/, Android เก็บไว้ใน games/com.mojang/minecraftWorlds/<id>/. หยุดเซิร์ฟเวอร์ก่อน เพื่อไม่ให้มีการเขียนไฟล์ระหว่างคัดลอกJava big-endian, Bedrock little-endian, NBT เครือข่ายแบบ varint ของ Bedrock, NBT เครือข่ายแบบไม่มีชื่อรากของ Java 1.20.2+ และ level.dat. ระบบตรวจหาจากไฟล์ ไม่ได้คาดเดา
การคลายและบีบอัดใหม่ใช้ Compression Streams API ของเบราว์เซอร์ ดังนั้นไฟล์ Java level.dat จึงบันทึกกลับเป็นไฟล์ที่เกมยอมรับโดยไม่เปลี่ยนรูปแบบ
TAG_Long จะเก็บเป็น BigInt. ค่า seed ของโลกและครึ่งหนึ่งของ UUID จึงไม่เสียจากการปัดเศษ floating-point ซึ่งเป็นปัญหาในเครื่องมือ NBT บนเบราว์เซอร์จำนวนมาก
Java ใช้ modified UTF-8 (CESU-8) ส่วน Bedrock ใช้ UTF-8 มาตรฐาน โปรแกรมเข้ารหัสตาม Edition ทำให้อีโมจิและชื่อโลกที่ไม่ใช่อักษรละตินยังคงถูกต้อง
อาร์เรย์เก็บเป็น typed array และโครงสร้างแสดงผลแบบทยอยครั้งละ 200 รายการ ไฟล์ NBT ของชังก์ขนาดหนึ่งเมกะไบต์จึงเปิดได้โดยแท็บไม่ค้าง
ค้นหาแท็กตามชื่อหรือค่าจากทุกตำแหน่งในไฟล์ แล้วไปยังแท็กนั้นพร้อมขยายพาธ
ส่งออกโครงสร้างทั้งหมดเป็น SNBT ซึ่งเป็นรูปแบบข้อความที่ใช้โดย /data และ datapack เพื่อเปรียบเทียบ แชร์ หรือวางในคำสั่ง
อ่านไฟล์ Bedrock แล้วเขียนเป็น Java big-endian gzip หรือทำกลับกัน เหมาะกับงานโปรโตคอล การทดสอบ และการพัฒนาเครื่องมือ
ไฟล์ถูกอ่านด้วย FileReader, แยกข้อมูลด้วย JavaScript และส่งกลับเป็น blob ในหน่วยความจำ ไม่มีปลายทางสำหรับอัปโหลด
เกมเป็นผู้เขียน NBT ไม่ใช่ตัวซอฟต์แวร์เซิร์ฟเวอร์ ดังนั้นซอฟต์แวร์ใดที่เก็บโลก Minecraft ก็ต้องใช้การเข้ารหัสแบบใดแบบหนึ่งที่โปรแกรมนี้อ่านได้ รายการด้านล่างจึงครอบคลุมจริง เพราะซอฟต์แวร์ที่เขียนโลกต้องใช้โครงสร้างแบบ Vanilla เพื่อให้ไคลเอนต์อ่านได้
level.dat ขนาด 8 ไบต์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, รวมถึงไคลเอนต์ MCPE และ MCBE บน Android, iOS, Windows, คอนโซล และ Switch ซึ่งใช้ worlds/<World>/level.dat, ส่วนหัวเดียวกัน และแท็กเดียวกัน — ดู ขั้นตอนสำหรับเซิร์ฟเวอร์.
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 รวมถึง fork, เซิร์ฟเวอร์ modpack และรุ่นเก่าอื่นทั้งหมด หากเขียนไฟล์ world/level.dat, โปรแกรมนี้ก็เปิดได้ — ดูรายละเอียด.
Geyser, WaterdogPE, Waterfall, Velocity และ BungeeCord ไม่ได้เก็บโลก แต่ส่ง NBT ผ่านเครือข่าย ข้อมูลที่จับจากซ็อกเก็ตเป็น NBT เครือข่าย ได้แก่ varint little-endian ฝั่ง Bedrock และ big-endian แบบไม่มีชื่อรากใน Java 1.20.2+ ซึ่งเปิดที่นี่ได้โดยตรงทั้งคู่
ไม่ว่าจะเป็น fork ที่ปรับเอง ซอฟต์แวร์ส่วนตัว โครงการสอน หรือเซิร์ฟเวอร์ที่เขียนเอง หากไฟล์เป็น NBT โปรแกรมจะตรวจหาหนึ่งในห้าการเข้ารหัสแล้วเปิดไฟล์ โดยไม่อ้างอิงชื่อซอฟต์แวร์
หน้านี้เปิดให้เข้าถึงเอนจินผ่าน window.NBT, จึงสั่งตัวแยกข้อมูลเดียวกับที่ UI ใช้จากคอนโซลเบราว์เซอร์ หรือนำไปใช้ซ้ำใน userscript ได้:
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 อธิบายแท็กทุกชนิดและความแตกต่างของแต่ละการเข้ารหัส
ใช่ และเป็นโอเพนซอร์สภายใต้สัญญาอนุญาต MIT ไม่มีแพ็กเกจแบบชำระเงิน ไม่ต้องสมัคร และไม่จำกัดการอัปโหลด เพราะไม่มีส่วนประมวลผลฝั่งเซิร์ฟเวอร์ โปรแกรมทั้งหมดเป็นหน้าสแตติกหนึ่งหน้าและไฟล์ทรัพยากรสองไฟล์
รองรับทั้งคู่ ไฟล์ Java Edition เป็น big-endian และมักบีบอัดด้วย gzip ส่วนไฟล์ Bedrock เป็น little-endian และ level.dat มีส่วนหัวเพิ่ม 8 ไบต์ โปรแกรมตรวจหาแบบของไฟล์และเขียนกลับเป็นแบบเดิมเมื่อบันทึก
ไม่ ไฟล์ถูกอ่านภายในอุปกรณ์ด้วย FileReader API และสร้างไฟล์ดาวน์โหลดจาก blob ในหน่วยความจำ เมื่อโหลดหน้าแล้วคุณตัดการเชื่อมต่อเครือข่ายและยังใช้งานต่อได้
ได้ รูปแบบหน้าออกแบบสำหรับมือถือ มีพื้นที่แตะ 44 px และแถบคำสั่งคงที่ บน Android เลือกไฟล์โลกจากตัวจัดการไฟล์ได้โดยตรง ส่วน iOS ต้องนำไฟล์ไว้ในแอป Files ก่อนเนื่องจาก sandbox
NBT คือรูปแบบไบนารีที่ Minecraft เก็บบนดิสก์ ส่วน SNBT คือรูปแบบข้อความซึ่งใช้เขียนในคำสั่ง เช่น /data merge. โปรแกรมนี้อ่าน NBT ไบนารีและส่งออก SNBT ได้ เพื่อเปรียบเทียบสองไฟล์หรือวางโครงสร้างในคำสั่ง
โปรแกรมแก้ไข NBT บนเดสก์ท็อป เช่น NBTExplorer และเครื่องมือเว็บเฉพาะงานที่รองรับเพียง Edition เดียว ดู การเปรียบเทียบ NBTExplorer ออนไลน์ เพื่อดูฟังก์ชันที่รองรับและไม่รองรับ