Minecraft Wiki

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

了解更多

Minecraft Wiki
注册
Advertisement
Disambig gray  “Anvil”重定向至此。关于用于修复物品的方块,详见“铁砧”。
Information icon
此特性为Java版独有。

Anvil[1]文件格式在Java版1.2正式使用,其在之前的文件格式Region的基础上做出了许多更改和改进。该文件格式最初在快照12w07a中投入使用。

与MCRegion的不同之处[]

Anvil Conversion

正在将世界从McRegion格式转化为Anvil

从MCRegion到Anvil做出的唯一修改是区块格式——Region文件格式仍在使用,但标识改成了Anvil。Anvil在区块格式上做出了以下修改:

  • 最高建筑高度提升到256(原为128)。
  • 世界上的空的区域并不会占用内存或保存至硬盘内。
  • 通过添加一个4位元数据层面(与元数据的储存方法相似)使方块ID的最大值提升到了4096(原为256)。然而剩余的Minecraft代码中暂时没有使用这项修改。
  • 方块的排列顺序从XZY改成了YZX来提高压缩率。
  • 优化了发送给客户端的区块数据包(一个无空气的区块要比在旧格式的同区块更小,一个拥有很多空气的区块更是要小得多)。
  • 生物群系将保存至每个X、Z列表中,这代表它们现在可由外部程序修改,这对制图者很有帮助。

更多信息[]

12w07a1.17.1的Java版版本会自动将世界转换至新的格式,但同时会使用旧格式创造一个世界文件的拷贝以兼容旧的游戏版本。世界生成器未经过修改,所以将在往常的地形上生成128层的空气,这使海平面到限制高度增加到了192米。

  • 每个区块的“Blocks”“Data”“SkyLight”和“BlockLight”标签被移动并且被改变读取方式(见下文)。
  • “Sections” 列表标签包含的复合标签已添加多达16个。
  • 每一个16×16×16的区域都有了“Blocks”“Data”“SkyLight”和“BlockLight”标签。
  • 每一个方块都有“Y”字节标签来说明高度(有些时候Y位置可以被忽略)。0是世界的最底部,15是世界的最顶部。
  • 每一个方块都有可选的“Add”标签,这是一个像“Data”一样的DataLayer字节数组。“Add”标签不包括在转换器中,因为旧格式没有超过255的方块ID。这种额外的标记创建一个方块时需要getTile()方法检查是否存在数组,然后替换默认的方块数据。换句话说,方块ID = (当小于8时) + 基础ID。
  • 每一个区块都有一个16×16字节的数组和一个生物群系ID标签“Biomes”。如果这个数组丢失了,它会在游戏开始前将数组里的每一个数值变为-1。然而开发人员提供的转换器源代码中不包含任何生物群系的源代码。
  • 注意:旧格式是XZY((x * 16 + z) * 16 + y)而新格式是YZX((y * 16 + z) * 16 + x)(请注意DataLayer与OldDataLayer的不同)。
  • 新格式使用“.mca”为扩展名而不是 “.mcr”(旧格式为安全方面保留了“.mcr”,level.dat的扩展名就是“level.dat_mcr”)。
  • 一种叫做IntArray的新NBT标签种类被加入NBT格式(ID为11)它被用于“地图高度”标签。

其他信息请见区块格式页面。

独立转换器[]

独立的文件格式转换器及其源码已经放出,方便开发者检查和准备。[1]

降低转换后文件大小[]

Anvil文件格式的文件以.mca为后缀名,而MCRegion使用.mcr。游戏在将世界转换为Anvil后会保留旧的McRegion文件——尽管它们再也不会被游戏使用了。为了降低备份的文件大小,可以删除这些.mcr文件(最好是备份以后)。可以这么干:

  • 对于Windows:
    • 使用文件资源管理器(或类似的文件查看器):
    1. 打开文件资源管理器(快捷键:⊞ Win + E
    2. 找到世界存档文件夹,选择进入
    3. 搜索(快捷键:F3):*.mcr
    4. 全选(快捷键:Ctrl + A)并删除(快捷键:delete
    • 使用命令提示符:
    1. 打开命令提示符(同时按下⊞ WinR,输入cmd,再按下↵ Enter
    2. 运行以下命令:del /f /q "<世界文件夹路径>\region\*.mcr"
  • 对于Linux、macOS等:
    • 方法一:
    1. 在终端中运行命令:cd <世界文件夹路径>,进入目录
    2. 运行命令:rm *.mcr
    • 方法二:
    1. 打开终端
    2. 运行以下命令:rm -f <世界文件夹路径>/region/*.mcr

历史[]

Java版
1.2.112w07a加入了Anvil文件格式。
1.1620w14a现在会以同步模式打开Anvil格式的文件了,这可以防止崩溃后数据丢失和损坏。

参见[]

参考[]

语言

Advertisement