Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

Minecraft 1.0中,每一个世界都有自己的文件夹。在世界文件夹中通常需要靠level.dat文件和存储地图和区域的子文件夹才能鉴别对应的世界。

在世界文件夹中永远会包含的信息以粗体的形式显示,有时会显示的信息则以斜体的形式显示。

相对路径 名称 描述
/level.dat 见下文 存储关于世界的全局信息。=
/level.dat_mcr - level.dat文件在转换为MCRegion铁砧文件前的备份文件。
/level.dat_old - level.dat文件在从Alpha 世界格式转换为MCRegion铁砧文件前的备份文件。
/session.lock 见下文 用于获取最后执行的程序修改这一文件以及访问的权限。
/players/<player>.dat Player.dat 格式 存储这一世界内玩家所有的个人信息。
/data/idcounts.dat
/data/map_<#>.dat
地图物品格式 存储可合成地图这一物品所包括的地图数据。
/data/villages.dat villages.dat 格式 存储世界中村民的信息。
/region/ - 包含主世界中的区域信息。
/DIM-1/ - 包含下界中的区域信息。
/DIM1/ - 包含末路之地中的区域信息。
/region/r.<#>.<#>.mca
/DIM-1/r.<#>.<#>.mca
/DIM1/r.<#>.<#>.mca
铁砧文件格式 独立区域信息
/region/r.<#>.<#>.mcr
/DIM-1/r.<#>.<#>.mcr
/DIM1/r.<#>.<#>.mcr
区域文件格式 用于存储区域文件在从MCRegion转换为铁砧之前的备份文件。
/<#>/<#>/c.<#>.<#>.dat Alpha 世界格式 用于存储区块文件在转换从Alpha世界格式转换为MCRegion之前的备份文件。

level.dat 格式

level.dat文件包含了世界的全局信息,如时间,单人游戏玩家,所使用的世界类型以及地图种子等。为NBT文件,其格式如下:

  • 根标签
    •  Data: 此标签包含所有的世界数据。
      •  version: NBT的版本,为19133。
      •  initialized: 1 或 0 (真/假) - 通常情况下,当世界在正常方式创造之后为真。如果初始化模拟被某种情况所中断,此处为假,世界将会在下一次载入时重新初始化。
      •  LevelName: 世界的名字
      •  generatorName: 世界类型:"默认"、"超平坦"、"超大生物群系"。不区分大小写。
      •  generatorVersion: 世界类型的版本。修改此处的作用未知,但是从观察到的情况下非零。
      •  generatorOptions: 生成器的控制方式,当前只针对超平坦世界。其格式为许多以逗号相隔的方块ID,这些ID的排列顺序为从地底依次排列。这些ID可以在其前面添加'x和其层数。不支持小ID。[1]
      •  RandomSeed: 随机世界种子用于生成固定的地形。
      •  MapFeatures: 1 或 0 (真/假) - 如果在世界类型中选择允许生成如村落、要塞、矿井这些结构则为真。
      •  LastPlayed: 世界最后被加载时的Unix时间戳。
      •  SizeOnDisk: 世界所预估的所占字节的大小。当前在Minecraft中无法进行修改,但是之前是可以的。
      •  allowCommands: 1 或 0 (真/假) - 如果允许作弊则为真。
      •  hardcore: 1 或 0 (真/假) - 如果玩家在单人游戏中死亡后删除世界则为真。在三个模式中均有效。
      •  GameType: 在单人游戏玩家生成或重生时的默认游戏模式。0为生存模式,1为创造模式,2为冒险模式。提示:单人游戏玩家不要将此处设置成当前所在的游戏模式。
      •  Time: 世界自开始时所经历的刻数。
      •  DayTime: 游戏中的时间。0为日出,6000为正午,12000黄昏,18000为午夜,24000为次日零时。这一数据会超过24000而不重置至0。
      •  SpawnX: 出生点的X坐标。
      •  SpawnY: 出生点的Y坐标。
      •  SpawnZ: 出生点的Z坐标。
      •  raining: 1 或 0 (真/假) - 如果世界此时正在下雨、下雪或阴云密布则为真。
      •  rainTime: 在“下雨”被触发前所经历的刻数,一旦被触发则会重置为另一随机数。
      •  thundering: 1 或 0 (真/假) - 如果下雨/下雪/阴云密布并且出现闪电,天空太过阴暗以至于生物可以在白天进行刷新时则为真。
      •  thunderTime: 在“闪电”被触发前所经历的刻数,一旦被触发则会重置为另一随机数。
      •  Player: 单人游戏玩家的状态。此处如果玩家与<player>.dat中玩家名字相同的话会覆盖<player>.dat文件。如果在服务器中已经存在这一文件则会被保存,否则不会保存服务器世界。参见Player.dat 格式
      •  GameRules: 游戏规则。每一规则为非"真"即"假"的字符串。
        •  commandBlockOutput: 是否将指令方块的行为显示到聊天窗口中,默认为真。
        •  doFireTick: 是否开启火焰蔓延和消失,默认为真。
        •  doMobLoot: 生物在被杀死后是否掉落物品,默认为真。
        •  doMobSpawning: 生物在自然环境下是否会生成,默认为真。
        •  doTileDrops: 在破坏方块后是否会掉落对应方块物品,默认为真。
        •  keepInventory: 玩家在死后是否会保留物品啦,默认为假。
        •  mobGriefing: 生物是否会破坏方块(如爬行者的爆炸,僵尸的破坏等),默认为真。

session.lock 格式

This file contains the timestamp of when the level was last accessed. The file contains a single 64-bit integer in big endian format, which is the timestamp, stored as the number of milliseconds elapsed since 1970, in UTC.

Unlike typical lock files, this file ensures that the last program to access the level is that one that has read and write access. The process goes something like this:

  1. Program opens session.lock
  2. Program writes timestamp to session.lock
  3. Program monitors session.lock for changes
  4. If the contents of session.lock change, program aborts and gives up its lock on the level.

Minecraft can sometimes try to hold the lock on a level even after the player has started playing a different level, and this can cause strange behavior. It is recommended to ensure that Minecraft is closed before trying to acquire a lock on a level.

References


Advertisement