本站文本內容除另有聲明外,均在知識共享 署名-非商業性使用-相同方式共享 3.0 協議下提供。(詳情…本站文本內容除另有聲明外,均在知識共享 署名-非商業性使用-相同方式共享 3.0 協議下提供。(詳情…中文Minecraft Wiki是完全公開的。請勇於擴充與修正內容!中文Minecraft Wiki是完全公開的。請勇於擴充與修正內容!Minecraft中文Wiki微博正在更新!或許有興趣去看看Minecraft中文Wiki微博正在更新!或許有興趣去看看想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。需要管理員的協助?在管理員告示板留言也許可以幫到您。需要管理員的協助?在管理員告示板留言也許可以幫到您。

世界格式

来自Minecraft Wiki
跳转至: 导航搜索
Ic translate.svg
此条目的(部分)内容需要被翻译。
你可以帮助我们来翻译此条目。
Information icon.svg
此特性为Java版独有。

世界的游戏状态存储发生在文件中,这些文件的内容构建在一个清晰的树结构中。这些不是文本文件,而是以所谓的NBT格式(名称二进制标记)存储的,因此您只能使用特殊程序查看内容。有些程序以图形方式表示数据,以便您可以看到和更改Minecraft以外的世界(例如“MCEdit”)或表示数据树装结构的程序(例如“NBT Explorer”)。

存储[编辑 | 编辑源代码]

存档的保存发生在不同的时间:

  • 生成新世界时,它将首次保存。
  • 在玩游戏时,不断添加和更改数据。
  • 按下Esc暂停按钮后即被保存。在启动器的“游戏输出”中记录:"[Server thread/INFO]: Saving and pausing game..." - 您可以继续玩游戏或通过菜单项退出”保存并返回主菜单“。
  • 如果卸载了区块,因为玩家离它们太远,它们会被提前保存。
  • 定期自动保存。

格式[编辑 | 编辑源代码]

随着游戏的发展,存储格式发生了多次变化:

  • 一开始,世界中的所有数据都由Java程序中的level对象保管,并在存档时作为一个序列化的(Serialized)Java对象写入压缩文件(Classic世界格式)。
  • From the concept of data serialization by Java, Notch adopted in the Indev phase and developed its own memory format (the NBT format). The world data stored in the Indev phase with this format is called Indev Level Format. The worlds were still a fixed size and all data including all blocks and objects were stored in a common file.
  • In the Infdev phase, the concept of Chunk storage was introduced as the Unlimited World developed. The global world data are now stored in the "level.dat" file, while the landscape and objects are stored in chunk files. A chunk file each comprised an area of ​​16 × 16 blocks. This concept is called Alpha Level Format.
  • With you've moved to the new Region Format, where the chunks are no longer stored individually, but grouped together into one region. One region contains 32 × 32 chunks, i. H. it covers an area of ​​512 × 512 blocks. This summary has significantly accelerated the storage of chunks.
  • 在已经更换到新的Anvil文件格式。 保留了区域的概念,但是现在可以保存而不是128个高度的256个块。 将方块分成16×16×16块立方体部分。 空气部分不再存储,不再装载。该概念还有其他变化,以加快方块的加载和保存。

转换[编辑 | 编辑源代码]

对于每个新版本的Minecraft,存储游戏内存数据都会有轻微或重大的变化。如果使用旧版本创建了一个世界,则新版本无法再读取它。为了实现这一点,必须在读取之前或期间转换数据,即转换为新格式。

For example, with , the Object IDs have changed. A world last played at 1.10 has saved the objects with the old IDs. If the world then enters with 1.11, the game detects the version change and automatically converts the old object IDs.

The detection of an old version is done by the Version-ID introduced with , which since then has been called 'DataVersion' property in the world data which is Player Data and Chunk Data. Since the Blocks, Blockobjecte, Objects, Creatures and since also the Buildings part of the Chunkdata and the objects are part of the chunk and player data, any changes to that data may be detected while reading in a chunk or player. With , the rest of the savegame storage data has also received the version ID as a 'DataVersion' property: Scoreboard Data, Village Data, Map Data and Statistics Data .

When reading the memory data, the game recognizes with which version ID it was last saved. If this deviates from the current version ID, the conversion is carried out. This always happens before the first use of the data, i. H. the game program itself only works with the current format. The world data are loaded each time you enter the world, but other data only when needed. For example, if you have not entered a distant chunk of your world for six years, it still has the old data format from that time, which is not recognized until you re-import it.

There are two options for the conversion:

  • Chunky by the way: Each Chunk will not be converted until it is loaded. Advantage: Through the automatic by-pass conversion, you can enter the world immediately. Disadvantage: Every single chunk causes a time delay when loading, which can reduce the gaming experience depending on the conversion time. In addition, old Chunk data remains, unless you completely migrate the whole world once. Over time, the world is made up of a colorful mix of chunks from a variety of Minecraft versions. As a result, you still have conversion delays months after a version change, when you enter the corresponding old chunks for the first time again.
  • Completely in advance: The world is completely converted before the first entry by calling up a menu item. Advantage: Liquid game, because the world when entering is already completely in the current format. Disadvantage: Depending on the size of the world, the full conversion can take a long time.
    • Client: The complete conversion is carried out in Edit menu/world via the menu item "Optimize world" (see details there).
    • Server: Full conversion is performed by starting the server with the suffix - forceUpgrade . This can not be undone, so you should create a backup copy of the world first.

The program functions for the conversion are outsourced to the program library datafixerupper.jar whose source code is publicly accessible (see Open Source Libraries).

存档文件夹[编辑 | 编辑源代码]

保存所有世界的存档的起点是文件夹.minecraft/saved。 在此文件夹中,您生成的每个世界都有一个世界文件夹。 每个世界文件夹都带有世界名称,因为它是在界面中选择的。 在稍后重命名游戏中的世界时,world文件夹始终保留原始名称。 这始终以单人模式显示在世界名称下。


  • .minecraft:
    Minecraft文件夹

    • saves:
      所有的Minecraft世界。

      • world folder name:
        一个世界中的所有数据。可以通过菜单/编辑世界直接轻松打开世界文件夹。

        • advancements
          对于这个世界上的每个玩家,各自的条件和时间戳达到配方书进度。 文件名由玩家的UUID组成。 参见配方数据进度数据。 到达的配方也存储在recipeBookplayer data中的recipe book中。

        • data:
          世界的结构和其他数据。

          • chunks.dat:
            关于世界的区块的可选信息。

          • idcounts.dat:
            可选地,世界上最近创建的地图的ID,无论它是由哪个玩家制作的。 见地图物品格式

          • map_ ID .dat:
            有关特定地图的可选信息。 文件名包含物品的ID。 见地图物品格式

          • scoreboard.dat:
            关于世界记分板的可选信息。 参阅记分板数据.

          • villages.dat:
            关于主世界的村庄信息。 即使尚未生成任何村庄,也始终生成此文件。 见村庄数据

          • villages_end.dat:
            关于末地中村庄居民的信息。 这样的村庄不是由游戏产生的,而是可以由玩家建造的。 始终生成此文件。 见村庄数据

          • villages_nether.dat:
            关于下界中村民的信息。 这样的村庄不是由游戏产生的,而是可以由玩家建造的。 始终生成此文件。 见村庄数据

        • datapacks:
          这个世界的数据包

        • DIM-1:
          下界文件 (维度 "负1").

          • data:
            这个维度的数据。

          • poi:
            来自版本的世界,是村民的”兴趣点”(poi)。包含工作站方块,床和钟。

          • players:
            对于DIM-1,创建一个类似于主世界的文件夹“玩家”,这在这里毫无意义。

          • region:
            下界的所有区块文件。

        • DIM1:
          末地文件 (维度 "正1").

          • data:
            这个维度的数据。

          • poi:
            来自版本的世界,是村民的”兴趣点”(poi)。包含工作站方块,床和钟。

          • players:
            对于DIM1,创建一个类似于主世界的“玩家”文件夹,这在这里毫无意义。

          • region:
            末地的所有区块文件。

        • generated:
          存储在维度上的结构。

        • playerdata:
          进入这个世界的所有玩家

          • UUID.dat:
            文件名包含玩家的UUID。 请参阅玩家

        • players:
          对于玩家数据之前的世界。 即使对于较新的世界,有时也会创建“玩家”文件夹,但之后没有任何意义。

          • player name.dat:
            文件名包含玩家的名称。 见玩家数据

        • poi:
          来自版本的世界,是村民的”兴趣点”(poi)。包含工作站方块,床和钟。

        • region:
          所有主世界区域文件(维度0)。

        • stats:
          对于在这个世界上玩的每个玩家,成就统计数据

        • icon.png:
          菜单/单人游戏中显示的世界图标,可以在编辑菜单/世界菜单中重置。

        • level.dat:
          存档信息。 参见Level格式

        • level.dat_old:
          alpha阶段的开始处,创建了新文件“level.dat”,并将旧文件重命名为“level.dat_old”。 但即使在那之后,“level.dat_old”也会在生成世界时生成,并在保存世界时进行描述。 参见Level格式

        • resources.zip:
          (在加载世界时自动加载的世界资源包可选)。 见资源包

        • session.lock:
          Lock as soon as the world gets hit with Minecraft. See Alpha Level Format.


参考[编辑 | 编辑源代码]