教程:制作附加包/包的构建

来自Minecraft基岩版开发Wiki
包的构建
系列教程
所属系列
难度
初级
适用版本
国际版
实践设备
WindowsAndroidIOS

引言[编辑]

附加包主要包含行为包资源包两部分。

行为包是附加包的一种,主要用于自定义实体物品方块配方战利品表地物生物群系等内容。同时行为包也是脚本引擎的载体,开发者编写的脚本引擎代码依托于行为包在游戏中发挥效用。

资源包同属于附加包的其中一类,主要用于自定义游戏资源相关的内容,例如:材质、模型音乐音效语言文件、终末之诗UI闪烁标语的显示文本和字体等。

本教程主要讲解新建一个附加包的基本步骤。

基本架构[编辑]

首先新建一个文件夹并命名为tutorial_behavior_pack

创建文件夹并命名为 tutorial_behavior_pack
创建文件夹并命名为 tutorial_behavior_pack

此文件夹名称并未特殊要求与规定,在实际制作过程中,您可根据自己的需求命名,但由于通常会将行为包与资源包结合使用,故建议在命名时加上“behavior”、“Bev”或“BEV”等类似字样来表示行为包;加上“resource”、“Res”或“RES”等字样来表示资源包。然后在文件夹中新建一个名为manifest.json的JSON文件,同时向其中放入一张名称为pack_icon.png的PNG格式图片,该图片将作为您的包图标存在,这里建议使用 1 : 1 尺寸比例的图片,此时其文件结构如下:

  •  tutorial_behavior_pack
    •  manifest.json
    •  pack_icon.png

清单文件[编辑]

清单文件(文件名必须为manifest.json)包含了该附加包的所有基本信息。

接下来向清单文件中写入内容,下面是一段清单文件内容的示例[注 1]

{
    "format_version": 2,
    "header": {
      "description": "附加包教程示例-包的构建",
      "name": "Hello World!!!!",
      "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "version": [0, 0, 1],
      "min_engine_version": [1, 16, 200]
    },
    "modules": [
      {
        "description": "附加包教程示例-包的构建-启用行为包模块",
        "type": "data",
        "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "version": [0, 0, 1]
      }
    ]
  }

下表大致描述了其中各个属性的用法及意义:

属性名称 描述
format_version 定义了清单的当前版本。目前建议使用版本 2,除非有需要,否则请勿更改。
header 清单的头部信息
属性名称 数据类型 描述
description 字符串 关于附加包的简短说明。它会出现在游戏中附加包名称的下方,建议保持在 1 行以内。
name 字符串 定义您的附加包名称。这里作为第一个包,我们使用经典的 Hello World 作为包名。
uuid 字符串 一种特殊的标识符,游戏在加载过程中基于此区分不同的附加包。示例中并未给出,请使用 uuid 生成器来生成以保证其独特性。
version 数组 [a, b, c] 定义附加包的版本号,格式为 [主版本,副版本,修订版] (x.x.x) 导入同一个附加包时会用到,如果新的附加包版本更高,那么就替换为新版本;如果新的附加包版本低于旧版,则忽略。
min_engine_version 数组 [a, b, c] 定义能使用本附加包的 minecraft 的最低版本,可通过它确定附加包是否能向下兼容。
modules 描述了此附加包所拥有的模块,附加包的模块决定了该包的类型(如行为包与资源包就拥有不同类型的模块)。游戏在进行包验证时,会获取此包的模块,并验证其类型,通过其拥有模块的类型,确定此包的类型。
属性名称 数据类型 描述
type 字符串 模块的类型,此处填写 "data" 意味着此模块为一个行为包模块,即决定了此包将作为行为包在游戏中发挥效用。若您将值改为 "resources" ,则意味着此包带有一个资源模块,游戏在加载此包时,将会将其作为一个资源包进行加载。
description 字符串 关于此模块的简短说明,建议保持在 1 行以内。
uuid 字符串 一种特殊的标识符,用于区分不同的模块,格式同 header 中的 uuid 。注意,每个模块的的 uuid 都应该各不相同。
version 数组

[a, b, c]

此模块的版本号,格式同 header 中的 version。
  1. 注:示例中的uuid部分并未给出,请务必替换为您的uuid,否则游戏将无法识别您的包,您可在 此处 生成您的uuid。

打包与导入[编辑]

接下来您只需要选中文件夹中所有文件,将其压缩为zip文件并修改后缀为mcpack即可。

在完成上述操作后,恭喜您,您已经成功制成了您的第一个包,正式成为了一名附加包开发者!!可喜可贺!(只不过这个包里还没有添加修改任何游戏内容)。

将您制作的包导入游戏,新建一个存档,在存档配置页面打开行为包栏,如果一切正常的话,您应该就可以看到您添加的包了。

< 开始之前 | 运行、调试与导出 >