Java版存档格式
世界规则 Java 支持 基岩版 不适用

Java版存档格式

Java Edition level format

Java版存档格式描述一个世界在磁盘上的目录、文件和维度数据布局。客户端通常从 .minecraft/saves 读取世界,服务端则由 --universe、--world 或 server.properties 的 level-name 决定存档根目录。

该条目只适用于 Java 版。基岩版使用另一套存档格式和目录组织方式,不能直接按 Java 版的 level.dat、region、entities、poi 等目录规则处理。

机制说明

存档是 Java 版保存世界状态的持久化形式。游戏不会把 saves 下的每个目录都当作世界,而是通过根目录内的 level.dat 或 level.dat_old 判断该目录是否为有效存档。

客户端世界通常位于 .minecraft/saves/<世界名>。服务端世界位置由启动参数 --universe 指定存档存储目录,再由 --world 或 server.properties 的 level-name 指定世界名称,最终组合为 <universe>/<world>。

存档根目录保存与维度无关的数据,例如世界图标、level.dat、session.lock、玩家进度与统计、世界数据、数据包和生成结构等。进入过至少一名玩家后,players、data、datapacks 等目录会成为排查存档状态的重要入口。

维度数据独立放在对应维度根目录下。Java 26.1 之后,主世界、下界、末地和自定义维度都统一使用 dimensions/<命名空间>/<标识符>/ 这样的路径组织。

区块基础数据、实体数据和兴趣点数据分别放在 region、entities、poi 目录中,常见文件名为 r.<区域X>.<区域Z>.mca;对应区块的额外文件可使用 c.<区块X>.<区块Z>.mcc。

完整内容

存档位置

客户端和服务端的存档位置由不同入口决定,但最终都会落到一个存档根目录。只要根目录能被游戏识别,后续文件结构才会参与世界列表展示、加载和保存。

调试世界无法显示时,应先确认目录层级是否正确,再检查 level.dat 或 level.dat_old 是否存在并能被读取。

  • 客户端:.minecraft/saves/<世界名>。
  • 服务端:<--universe 指定目录>/<--world 或 level-name 指定世界名>。
  • 有效性判断:根目录中存在 level.dat 或 level.dat_old。
  • 选择世界菜单只展示被判断为有效存档的目录。

根目录数据

根目录承载与维度无关的世界数据。level.dat 保存世界基础数据;session.lock 用于会话锁;players 下集中放置进度、玩家数据和统计;data 下保存地图、命令存储、记分板、游戏规则、天气、世界生成设置等存档级数据。

datapacks 目录用于世界指定数据包,resourcepacks/resources.zip 用于世界指定资源包,generated 用于生成结构等数据输出。

玩家相关目录

  • players/advancements/<玩家UUID>.json 保存玩家进度。
  • players/data/<玩家UUID>.dat 保存玩家数据。
  • players/stats/<玩家UUID>.json 保存玩家统计。

世界级数据目录

  • data/minecraft/maps 保存地图计数与地图数据。
  • data/minecraft/scoreboard.dat 保存记分板数据。
  • data/minecraft/game_rules.dat 保存游戏规则。
  • data/<命名空间>/command_storage.dat 可保存命令存储数据。

扩展内容目录

  • datapacks 存放世界指定数据包。
  • resourcepacks/resources.zip 存放世界指定资源包。
  • generated/<命名空间>/structure 存放生成结构文件。

维度数据

每个维度都有自己的维度根目录。维度目录内部再按 data、entities、poi、region 分开保存维度事件、实体、兴趣点和区块基础数据。

主世界、下界和末地在新版结构中也采用命名空间路径,这会影响备份脚本、地图查看器、存档修复工具和服务器迁移脚本的路径匹配。

  • data/minecraft/chunk_tickets.dat 保存区块加载标签。
  • data/minecraft/raids.dat 保存袭击数据。
  • data/minecraft/world_border.dat 保存世界边界。
  • entities、poi、region 中的 .mca 文件分别对应区域实体、区域兴趣点和区域区块基础数据。

版本迁移要点

Java 26.1 对存档路径做了大规模整理:所有维度统一按命名空间和标识符存放,部分原先保存在 level.dat 或旧路径中的数据拆分到 data/minecraft 下的独立文件。

从旧版本升级的世界可能还保留 level.dat_mcr 或 worldgen_settings_export.json 等历史文件。区块数据经历过独立文件、MCRegion 和 Anvil 文件格式阶段;现代 Java 版仍以 Anvil 区域文件为主。

基础数据

客户端位置
.minecraft/saves/<世界名>
服务端位置
<--universe>/<--world 或 level-name>
有效存档判断
根目录中存在 level.dat 或 level.dat_old
根目录核心
level.dat、session.lock、players、data、datapacks、generated
维度目录
dimensions/<命名空间>/<标识符>/
区块文件
region/r.<区域X>.<区域Z>.mca
实体与兴趣点
entities 与 poi 目录分别保存对应区域数据
版本提示
Java 26.1 后采用统一维度路径

机制表与对照数据

客户端与服务端路径

场景 决定因素 根目录示例 关键判断 用途
客户端单人世界 .minecraft/saves 下的世界目录 .minecraft/saves/<世界名> level.dat 或 level.dat_old 选择世界菜单展示和加载本地世界
服务端默认世界 运行目录与 level-name ./<level-name> server.properties 中的 level-name 服务器启动时加载默认世界
服务端自定义 universe --universe 参数 <universe>/<world> --world 优先,其次 level-name 把多个服务器或世界放在自定义存储目录
存档迁移 复制完整存档根目录 <目标目录>/<世界名> 根目录层级不能多套一层 备份、迁移服务器、恢复世界

根目录核心文件与目录

路径 类型 保存内容 是否核心 备注
icon.png PNG 文件 世界列表图标 可选 没有图标时仍可加载世界
level.dat NBT 文件 世界基础数据 核心 判断有效存档的主要文件
level.dat_old NBT 备份文件 上一份世界基础数据 备用 level.dat 损坏时常用于恢复
session.lock 锁文件 当前会话锁 核心 避免多个进程同时写入同一存档
players/advancements 目录 玩家进度 JSON 常见 按玩家 UUID 命名
players/data 目录 玩家 .dat 数据 常见 包含背包、位置、状态等玩家数据
players/stats 目录 玩家统计 JSON 常见 按玩家 UUID 命名
data/minecraft/maps 目录 地图计数和地图数据 按需 包含 last_id.dat 与地图 .dat 文件
data/minecraft/*.dat NBT 文件 记分板、游戏规则、天气、世界时钟、世界生成设置等 常见 新版拆分出更多存档级数据文件
datapacks 目录 世界指定数据包 按需 可放文件夹或 .zip 数据包
resourcepacks/resources.zip ZIP 文件 世界指定资源包 按需 新版位于 resourcepacks 目录下
generated/<命名空间>/structure 目录 生成结构文件 按需 保存结构 .nbt 输出

维度目录映射

维度 命名空间 ID 相对路径 说明
主世界 minecraft:overworld dimensions/minecraft/overworld/ Java 26.1 后主世界也使用统一维度目录
下界 minecraft:the_nether dimensions/minecraft/the_nether/ 旧版常见 DIM-1 路径不再是新版主路径
末地 minecraft:the_end dimensions/minecraft/the_end/ 旧版常见 DIM1 路径不再是新版主路径
自定义维度 <命名空间>:<标识符> dimensions/<命名空间>/<标识符>/ 数据包维度和自定义维度按命名空间分目录

维度根目录内部结构

路径 类型 保存内容 文件名模式 排查用途
data/minecraft/chunk_tickets.dat NBT 文件 区块加载标签 固定文件名 检查强制加载或加载标签相关问题
data/minecraft/raids.dat NBT 文件 袭击数据 固定文件名 排查袭击状态和村庄事件
data/minecraft/ender_dragon_fight.dat NBT 文件 末影龙战斗数据 固定文件名 通常只和末地或支持该战斗的维度有关
data/minecraft/world_border.dat NBT 文件 世界边界数据 固定文件名 排查边界位置和大小
entities 目录 区域实体数据 r.<区域X>.<区域Z>.mca 排查实体丢失、实体过多或区块实体异常
poi 目录 区域兴趣点数据 r.<区域X>.<区域Z>.mca 排查村民职业点、床、钟等 POI 问题
region 目录 区域区块基础数据 r.<区域X>.<区域Z>.mca 排查地形、方块和区块损坏
*.mcc 额外文件 区域文件的区块额外数据 c.<区块X>.<区块Z>.mcc 部分区块额外数据或修复工具会涉及

历史与迁移节点

版本或阶段 变化 影响 维护提示
Beta 1.3 区块数据开始使用 MCRegion 格式 区块不再以大量独立文件为主 处理旧档时要确认来源版本
12w07a 区块数据改为 Anvil 文件格式 现代 .mca 区域文件延续至今 地图工具通常围绕 Anvil 区域文件工作
1.17 实体数据从区块数据拆分到单独文件 entities 目录成为独立数据入口 实体问题不一定只看 region
1.21.11 加入秒表存储文件 data/minecraft/stopwatches.dat 成为存档级数据之一 新版世界数据文件更多
26.1 维度路径和多种世界数据统一整理 主世界、下界、末地均按 dimensions/<命名空间>/<标识符> 存放 备份脚本和迁移脚本需要更新路径规则
旧版升级残留 可能保留 level.dat_mcr 或 worldgen_settings_export.json 文件存在不代表当前版本仍主动使用 清理前先完整备份存档

站内关联词条

下列词条与当前机制直接相关,已优先关联到站内本地百科页面。

返回列表

同分类条目

下面这些条目和当前主题属于同一分类,方便继续浏览。

返回列表