1. Wiki
  2. /新手指南
  3. /你的第一个包

你的第一个包

为基岩版行为包和资源包搭建文件夹结构,编写两个 manifest.json 文件,把它们关联起来,并添加包图标。

在这篇指南中,你将搭建一个能被 Minecraft 识别的空附加包。它暂时还不会添加任何内容,但它是你以后制作每个物品、方块和生物的基础。整个过程大约需要十分钟。

文件夹结构

在任意位置创建一个项目文件夹,比如放在桌面上。在里面建两个文件夹:一个放行为包,一个放资源包。

我的第一个附加包
my_first_addon/
  BP/
    manifest.json
    pack_icon.png
    items/
  RP/
    manifest.json
    pack_icon.png
    textures/
    texts/

BP 和 RP 这两个名字只是大多数创作者的习惯。Minecraft 并不在意外层文件夹叫什么,它只关心里面有什么,而其中最重要的文件就是 manifest.json。

清单文件的作用

每个包的顶层文件夹里都需要一个 manifest.json。它告诉 Minecraft:

  • 包的名称和描述
  • 一个唯一 ID(UUID),让游戏能区分不同的包
  • 包的版本
  • 包的类型(行为包还是资源包)
  • 它需要依赖哪些其他包

如果清单文件缺失或有错误,Minecraft 根本不会显示这个包。

UUID

UUID 是一串很长的随机 ID,看起来像这样:7da910dc-081d-41d2-84e6-fcd9e04cbffb。每个包都需要自己的 UUID,世界上任何两个包都不应该共用同一个。

一个行为包 + 资源包的附加包需要四个 UUID:

  1. 行为包 header
  2. 行为包 module
  3. 资源包 header
  4. 资源包 module

获取方法:在浏览器里搜索“UUID generator”(UUID 生成器),复制四个新的 UUID。在 VS Code 中,基岩版相关的扩展也可以生成 UUID。

千万不要从教程里复制 UUID

本页中的 UUID 只是示例。如果你复制了它们,而别人也这样做了,你们的包就会冲突,其中一个将无法加载。一定要自己生成。

行为包清单文件

创建 BP/manifest.json 并粘贴以下内容,然后把 UUID 换成你自己的:

BP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "My First Add-on",
    "description": "My very first behavior pack",
    "uuid": "7da910dc-081d-41d2-84e6-fcd9e04cbffb",
    "version": [1, 0, 0],
    "min_engine_version": [1, 26, 50]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "92b4a8c1-cbc4-4b82-85bd-e36e922d0621",
      "version": [1, 0, 0]
    }
  ],
  "dependencies": [
    {
      "uuid": "f67430fa-ef89-4f40-802d-9574599c764d",
      "version": [1, 0, 0]
    }
  ]
}

资源包清单文件

创建 RP/manifest.json。注意 module 的类型不同,而且它的 header UUID 与行为包 dependencies 中的那个相同:

RP/manifest.json
{
  "format_version": 2,
  "header": {
    "name": "My First Add-on",
    "description": "My very first resource pack",
    "uuid": "f67430fa-ef89-4f40-802d-9574599c764d",
    "version": [1, 0, 0],
    "min_engine_version": [1, 26, 50]
  },
  "modules": [
    {
      "type": "resources",
      "uuid": "654e78d1-0b0d-4f13-9a3b-6336f0ceab13",
      "version": [1, 0, 0]
    }
  ]
}

每个字段详解

format_version

清单格式本身的版本。使用 2,这也是 Mojang 原版包使用的版本。它是一个普通数字,不是带引号的文本。

提示

还有一种较新的清单 format_version 3,其中的版本号写成 "1.0.0" 这样的文本,而不是数组。版本 2 仍然完全受支持,本 Wiki 使用的也是版本 2。

关于整个包的信息。

  • name:显示在游戏内的包列表中。
  • description:名称下方的小字。
  • uuid:包的唯一 ID。
  • version:三个数字:主版本号、次版本号、补丁号。发布更新时把它调高,比如从 [1, 0, 0] 改成 [1, 0, 1]。Minecraft 靠它判断包是否更新了。
  • min_engine_version:你的包所针对的最低 Minecraft 版本。它还会决定游戏如何读取你的某些文件,所以请把它设为你正在测试的版本,比如 [1, 26, 50]。

modules

包里包含什么。一个包至少需要一个 module,每个 module 都有自己的 UUID。

Module 类型用于包含
data行为包物品、方块、实体、配方、战利品表、函数
resources资源包纹理、模型、声音、文本
script行为包使用脚本 API 的 JavaScript 文件

dependencies

这个包所需的其他包的列表。每一项都包含另一个包 header 的 uuid 和 version。

在这里,行为包依赖资源包。这个关联有个很好的效果:当你在世界中启用行为包时,Minecraft 会自动帮你启用资源包。如果没有它,玩家可能只启用了行为包,结果看到的物品都没有纹理。

小贴士

依赖项必须指向资源包的 header UUID,而不是它的 module UUID。这是新手最常犯的错误之一。

包图标

在每个包文件夹的顶层、清单文件旁边放一个 pack_icon.png。这就是包列表中显示的图片。

  • 做成正方形。128x128 或 256x256 像素都很好看。
  • 保存为 PNG 格式。
  • 两个包可以使用同一张图片。

如果没有图标,包仍然可以使用,只是会显示一张空白的占位图。

添加语言文件

游戏中显示的名称来自资源包里的语言文件。现在就创建这两个文件,为后面的指南做好准备:

RP/texts/languages.json
["en_US"]
RP/texts/en_US.lang
pack.name=My First Add-on
pack.description=My very first add-on

之后你会在这里添加像 item.demo:ruby.name=Ruby 这样的行。

测试能否加载

  1. 把 BP 文件夹复制到 com.mojang/development_behavior_packs。
  2. 把 RP 文件夹复制到 com.mojang/development_resource_packs。
  3. 打开 Minecraft,创建一个新世界。
  4. 在世界设置中打开行为包,查看可用一栏。你的包应该带着图标出现在那里。
  5. 激活它。由于设置了依赖,资源包应该会自动启用。

如果包没有出现,请查看出问题时怎么办。最可能的原因是清单文件里有拼写错误,所以接下来可以读一读5 分钟学会 JSON。

简单方式

手动编写清单文件和生成 UUID 是每个项目只需做一次的杂活,但小小的拼写错误也最容易在这里把一切搞坏。GodCraft 会帮你完成这一步:你在工坊中创建的每个附加包都会获得全新的 UUID、两个清单文件,以及两个包之间的依赖关联。你只需要在包设置中填写自己关心的细节。

下一步

你的空附加包已经可以用了。现在给它找点事做:

新手指南: 指南

We use cookies to improve your experience and analyse site traffic. Learn more