此特性为Java版独有。
每一个世界都有自己的文件夹。在每一个世界的存档文件夹中通常需要靠level.dat文件和存储地图和区域的子文件夹才能鉴别对应的世界。
在世界文件夹中永远会包含的信息以粗体的形式显示,有时会显示的信息则以斜体的形式显示。
相对路径 | 名称 | 描述 |
---|---|---|
/level.dat | 见下文 | 存储关于世界的全局信息。 |
/level.dat_new | — | 程序会在此文件中写入该世界的新的全局信息,之后会被重命名为level.dat。 |
/level.dat_mcr | — | level.dat文件在转换为MCRegion和Anvil文件前的备份文件。 |
/level.dat_old | — | level.dat文件在从Alpha世界格式转换为MCRegion和Anvil文件前的备份文件。 |
/session.lock | 见下文 | 用于获取最后执行的程序修改这一文件以及访问的权限。 |
/players/<player>.dat | Player.dat格式 | 存储这一世界内玩家所有的个人信息,直到版本Java版1.7.6。 |
/playerdata/<uuid>.dat | Player.dat格式 | 存储这一世界内玩家所有的个人信息,从版本Java版1.7.6开始。 |
/stats/<uuid>.json | 统计储存格式 | 储存玩家在此世界游玩时的统计,自从Java版1.7.2。 |
/advancements/<uuid>.json | 待定 | 储存玩家在该世界的进度和已解锁的配方,自从17w13a。 |
/data/idcounts.dat /data/map_<#>.dat |
地图物品格式 | 存储可合成地图这一物品所包括的地图数据。 |
/data/villages.dat | Villages.dat格式 | 存储世界中村民的信息。“nether”和“end”文件在Java版1.8被加入。在Java版1.14中被POI区域文件代替。 |
/poi/
/DIM-1/poi/ /DIM1/poi/ |
— | 世界内村民特定的床,工作站点和钟。 |
/data/raids.dat /DIM-1/data/raids_nether.dat /DIM1/data/raids_end.dat |
raids.dat格式 | 储存世界内正在进行的袭击的信息。 |
/region/ | — | 包含主世界中的区域信息。 |
/DIM-1/region/ | — | 包含下界中的区域信息。 |
/DIM1/region/ | — | 包含末路之地中的区域信息。 |
/region/r.<#>.<#>.mca /DIM-1/r.<#>.<#>.mca /DIM1/r.<#>.<#>.mca /poi/r.<#>.<#>.mca /DIM-1/poi/r.<#>.<#>.mca /DIM1/poi/r.<#>.<#>.mca |
Anvil文件格式 | 独立区域信息。 |
/region/r.<#>.<#>.mcr /DIM-1/r.<#>.<#>.mcr /DIM1/r.<#>.<#>.mcr |
Region文件格式 | 用于存储区域文件在从Region文件格式转换为Anvil之前的备份文件。 |
/<#>/<#>/c.<#>.<#>.dat | Alpha世界格式 | 用于存储区块文件在转换从Alpha世界格式转换为MCRegion之前的备份文件。 |
level.dat格式
level.dat文件包含了世界的全局信息,如时间,单人游戏玩家,所使用的世界类型以及地图种子等。为NBT文件,其格式如下:
- 根标签
- Data:此标签包含所有的世界数据。
- CustomBossEvents:boss栏。
- <Resource location>:boss栏的id(比如
custom:boss
)。- Players:可以看见boss栏的玩家列表。
- Color:boss栏的颜色id。然后boss栏显示文本没有定义颜色,这同样也是将boss栏的显示文本的颜色。 在颜色代码查看可接受的值。
- CreateWorldFog:1或0(true/false)—boss栏是否创建迷雾。
- DarkenScreen:1或0(true/false)—boss栏是否会使天空暗黑。
- Max:boss栏的最大值。
- Value:boss栏的当前值。
- Name:boss栏的显示文本,参见JSON文本。
- Overlay:boss栏的显示样式。可以的值有
progress
、notched_6
、notched_10
、notched_12
和notched_20
。 - PlayBossMusic:1或0(true/false)—boss栏是否会初始化boss音乐。
- Visible:1或0(true/false)—boss栏是否对列表中的玩家可见。
- <Resource location>:boss栏的id(比如
- DataPacks:数据包选项。
- Disabled:禁用的数据包。
- :一个数据包。
- Enabled:启用的数据包。默认会包含字符串"vanilla"。
- :一个数据包。
- Disabled:禁用的数据包。
- DimensionData: 这个标签包含特定维度的世界数据。
- 1: 末路之地的数据。
- DragonFight: 末影龙战斗的数据。只有在进入末地后才会出现。
- ExitPortalLocation: 末影龙被击败后会飞往的地方,返回主世界的传送门的位置。
- X: 传送门的X轴坐标。
- Y: 传送门的Y轴坐标。
- Z: 传送门的Z轴坐标。
- Gateways: 包含即将生成的末地折跃门的位置
- : 折越门的角度,0为东方,数字按顺时针方向递增。
- DragonKilled: 1 or 0 (true/false) - 龙是否还活着。
- DragonUUIDLeast: 当前末影龙的通用唯一标识符(UUID)的低位。 与 DragonUUIDMost 组合成龙的唯一ID。
- DragonUUIDMost: 当前末影龙的通用唯一标识符(UUID)的高位。 与 DragonUUIDLeast 组合成龙的唯一ID。
- PreviouslyKilled: 1 or 0 (true/false) - 末影龙是否被击败过。决定下次击败末影龙获得的经验值。
- ExitPortalLocation: 末影龙被击败后会飞往的地方,返回主世界的传送门的位置。
- DragonFight: 末影龙战斗的数据。只有在进入末地后才会出现。
- 1: 末路之地的数据。
- version:NBT的版本,为19133。
- initialized:1或0(true/false)—通常情况下,当世界在正常方式创造之后为真。如果初始化模拟被某种情况所中断,此处为假,世界将会在下一次载入时重新初始化。
- LevelName:世界的名字
- generatorName:世界类型:default(默认)、flat(超平坦)、largeBiomes(巨型生物群系)、amplified(放大化)、debug_all_block_states(调试模式)和buffet(自选)。不区分大小写。
- generatorVersion:世界类型的版本。修改此处的作用未知,但是从观察到的情况下非零。
- generatorOptions:用于自选世界类型。
- biome_source
- options
- biomes:生物群系的列表。
- :一个生物群系ID
- biomes:生物群系的列表。
- type:生物群系生成器,无法在游戏内改变,默认为
minecraft:fixed
,也可以是minecraft:checkerboard和
minecraft:vanilla_layered。
- options
- chunk_generator:区块生成器。
- options:区块生成器选项。
- default_block:默认的方块,为方块ID。默认为
minecraft:stone
。 - default_fluid:默认的流体,为方块ID。默认为
minecraft:water
。
- default_block:默认的方块,为方块ID。默认为
- type:使用的生成器ID。可以是
minecraft:surface
、minecraft:cave
和minecraft:floating_islands
。
- options:区块生成器选项。
- biome_source
- generatorOptions:用于超平坦世界。
- RandomSeed:随机世界种子用于生成固定的地形。
- MapFeatures:1或0(true/false)—如果在世界类型中选择允许生成如村落、要塞、矿井这些结构则为真。
- LastPlayed:世界最后被加载时的Unix时间戳。
- SizeOnDisk:世界所预估的所占字节的大小。当前在Minecraft中无法进行修改,但是之前是可以的。
- allowCommands:1或0(true/false)—如果允许作弊则为真。
- hardcore:1或0(true/false)—如果玩家在单人游戏中死亡后转变为旁观模式则为真。在三个模式中均有效。
- GameType:在单人游戏玩家生成或重生时的默认游戏模式。0为生存模式,1为创造模式,2为冒险模式,3为旁观模式。提示:单人游戏玩家不要将此处设置成当前所在的游戏模式。
- Time:世界自开始时所经历的刻数。
- DayTime:游戏中的时间。0为日出,6000为正午,12000黄昏,18000为午夜,24000为次日零时。这一数据会超过24000而不重置至0。
- SpawnX:出生点的X坐标。
- SpawnY:出生点的Y坐标。
- SpawnZ:出生点的Z坐标。
- BorderCenterX:世界边界中心的X坐标。默认为0。
- BorderCenterZ:世界边界中心的Z坐标。默认为0。
- BorderSize:边界宽度。默认为60000000。
- BorderSafeZone:默认为5。
- BorderWarningBlocks:默认为5。
- BorderWarningTime:默认为15。
- BorderSizeLerpTarget:默认为60000000。
- BorderSizeLerpTime:默认为0。
- BorderDamagePerBlock:默认为0.2。
- raining:1或0(true/false)—如果世界此时正在下雨、下雪或阴云密布则为真。
- rainTime:在“下雨”被触发前所经历的刻数,一旦被触发则会重置为另一随机数。
- thundering:1或0(true/false)—如果下雨/下雪/阴云密布并且出现闪电,天空太过阴暗以至于怪物可以在白天进行刷新时则为真。
- thunderTime:在“闪电”被触发前所经历的刻数,一旦被触发则会重置为另一随机数。
- Player:单人游戏玩家的状态。此处如果玩家与<player>.dat中玩家名字相同的话会覆盖<player>.dat文件。如果在服务器中已经存在这一文件则会被保存,否则不会保存服务器世界。参见Player.dat格式。
- GameRules:游戏规则。
- Rule name:规则名称。总是为NBT字符串,大多数规则的值为
true
或false
。
- Rule name:规则名称。总是为NBT字符串,大多数规则的值为
- Version:世界存入时的版本信息。
- Id:版本id。
- Name:版本名称,比如15w32b。
- Snapshot: 1或0(true/false)—版本是否为快照版。
- CustomBossEvents:boss栏。
- Data:此标签包含所有的世界数据。
session.lock 格式
此文件包含了该世界最后一次进入时的时间戳。文件为一64字节以大端字节序格式的整值数据,为自1970年(标准时区)开始的以百为单位的毫秒数。
与典型的lock文件不同,这一文件确保了最后访问这一世界的程序有读取和修改的权限。该过程通常如下所示:
- 程序打开session.lock
- 程序在session.lock写入当前时间戳
- 程序对session.lock的变化进行监控
- 如果session.lock内容发生变化,则程序中断并锁定世界。
即使在玩家开始这一世界之后Minecraft有时也会锁定这一世界。这通常会带来未知的后果。推荐在您需要获取修改世界的权限之前完全关闭Minecraft程序。
poi格式
poi文件夹使用了与regionAnvil文件格式的文件相似的结构(因此为mca后缀)但其NBT内容有所不同。
- 根标签。
- Data: 该标签包含了所有世界数据。
- DataVersion: 数据版本,如1.14.4该值为1976。
版本 | |||||||
---|---|---|---|---|---|---|---|
开发周期 |
| ||||||
技术 |
| ||||||
多人游戏 | |||||||
游戏订制 |