资源包简介

在为《我的世界》基岩版构建您的第一个附加内容之前,您需要创建一个包来保存您的自定义内容。 创作者可以制作两种类型的包:资源包和行为包。 资源包是一种文件夹结构,其中包含您的所有自定义模型、声音、材质和自定义内容。 本教程会将泥土的颜色更改为亮绿色。

图片显示猪迷茫于含有绿色泥土方块环境中

在本教程中,您将学习以下内容:

  • 如何创建资源包
  • 如何创建清单文件
  • 如何将自定义材质加载到《我的世界》中。
  • 使用附加内容内容时的包堆栈概念。

要求

我们建议在开始本教程之前完成以下内容:

构建资源包

为了让《我的世界》查找和使用您的资源文件,您必须以特定结构设置文件夹和文件。 本教程将指导您创建此文件夹和文件结构。

资源包文件夹和文件结构的图像

创建一个文件夹

在本节中,您将首先创建一个名为 My_RESOURCE_Pack 的文件夹。 不过,也可以是别的名称。 事实上,可以为这个文件夹任意命名,但其他文件夹的命名必须遵循本教程,以便《我的世界》知道在何处查找。

  1. 打开您的 com.mojang 文件夹。
  2. 双击 development_resource_packs 文件夹将其打开。
  3. 添加一个新文件夹并将其命名为 My_RESOURCE_Pack
  4. 双击 *My_RESOURCE_Pack 文件夹将其打开。 新创建的文件夹的图像,其中一个名为 My_RESOURCE_Pack 的文件夹位于开发资源包文件夹中

创建一个清单文件

要将资源包加载到《我的世界》,需要创建一个清单文件。 清单文件是一个 JSON 文件,其中包含以下信息:

  • 描述:对资源包功能的游戏内描述。
  • 名称:资源包的游戏内名称。
  • UUID:通用唯一标识符。
  • 版本:资源包的版本。
  • 最低引擎版本:此包适用的《我的世界》所需版本。

《我的世界》将解析清单文件中的信息并将其显示在游戏的附加内容部分。 在文件内部,信息将分为两个独立的部分:header 和 modules。 header 部分将包含包的整体信息,而 modules 部分将包含具体的包的信息。

  1. 在文件资源管理器窗口中右键单击,选择新建 > 文本文档
  2. 将其命名为 manifest.json
    1. 您需要将文件扩展名从 .txt 更改为 .json。 如果您的资源管理器窗口没有显示文件扩展名,可在查看选项卡下启用文件扩展名位于 My_RESOURCE_Pack 文件夹中新创建的名为 manifest.json 的文件的图像
  3. 双击 manifest.json 以在文本编辑器中打开。
  4. 将以下代码复制并粘贴到您的文件中。
{
 "format_version": 2,
 "header": {
   "description": "My dirt resource pack Add-On!",
   "name": "My Resource Pack",
   "uuid":"",
   "version": [1, 0, 0],
   "min_engine_version": [1, 16, 0]
  },
 "modules": [
   {
     "description": "My First Add-On!",
     "type": "resources",
     "uuid": "",
     "version": [1, 0, 0]
   }
 ]
}

UUID

通用唯一标识符,简称 UUID,是用于标识不同软件的唯一编号。 对于《我的世界》,UUID 用于定义特定的包并防止任何重复的软件导致问题。 对于 header 和 modules,需要每个 "uuid" 字段中的引号之间输入 2 个不同的 UUID 编号。 您可以从在线 UUID 生成器(例如 https://www.uuidgenerator.net/)获取 UUID。

生成自定义 UUID 的 UUIDGenerator.net 主屏幕图像

  1. 将 UUID 复制并粘贴到 header 部分。 UUID 需要粘贴在引号 ("") 之间的 "uuid":"" 字段中才能正确读取。
  2. 刷新网页以生成新的 UUID 以在 modules 部分使用。
  3. 将新的 UUID 复制并粘贴到 modules 部分 "uuid" 字段中的引号之间。
  4. 保存 manifest.json 文件。

备注

要了解有关 manifest.json 文件如何工作的更多信息,您可以通过单击此链接查看附加内容文档中的页面:manifest.json

更换泥土方块

清单文件完成后,您现在可以开始向《我的世界》添加自定义内容。 让我们开始为原版泥土方块应用新的材质。 该过程的第一部分涉及创建一个文件夹结构来保存材质。

  1. 在文件资源管理器的 My_RESOURCE_Pack 文件夹中,创建一个文件夹并将其命名为 textures
  2. 双击 textures 文件夹将其打开。
  3. 在 textures 文件夹中,创建一个文件夹并将其命名 blocks
  4. 双击打开 blocks 文件夹。

创建材质

创建文件夹结构后,您现在可以将自定义材质放置在此处。 这个绿色的小方块是通过以下步骤创建的文件类型的一个示例。

可以下载使用 PNG 文件在照片编辑器中制作的自定义材质

您可以下载并将其保存在您的 blocks 文件夹中,或按照以下步骤创建您的材质:

  1. 打开图像编辑器,例如 MS Paint。
  2. 转到文件菜单并选择属性
  3. 宽度高度分别设置为 16 像素
  4. 点击确定

您现在可以在编辑器中设计图案或任何图样。 为制作绿色方块,添加了一个简单的填充颜色。

备注

此示例中使用 MS Paint 是为了快速轻松地完成,但您需要使用不同的图形编辑器来获得更高级的图形功能,例如透明效果或 .tga 文件支持。

  1. 编辑完材质后,转到文件菜单并选择另存为
  2. 选择 PNG 图片选项。
  3. 另存为对话框中,导航到您创建的 blocks 文件夹。
  4. 将文件另存为 dirt.png

对包进行测试

现在,资源包已经具有清单文件和材质,您现在可以启动《我的世界》并测试您的新的资源附加内容。

重要

包堆栈是指如何将内容加载到原版内容之上,导致两个包中具有相同名称的每个对象被最后应用的包覆盖。 在我们的示例中,原始的泥土材质被自定义材质覆盖。

如果在 My_RESOURCE_Pack 之后加载了另一个使用 dirt.png 文件的包,那么《我的世界》将改用该包,而您不会看到此更改。

您的自定义材质将用于世界上的每个 dirt.png 方块,但不会用于上面有草的泥块,因为这些块具有不同的名称。

  1. 启动《我的世界》并选择播放
  2. 选择创建新的世界
  3. 设置下,向下滚动到附加内容部分。
  4. 点击资源包以查看所有可用的包。
  5. 单击我的包下拉菜单将其打开。
  6. 选择 My RESOURCE Pack 并单击激活以将资源包添加到世界。
  7. 单击创建以创建您的世界。 《我的世界》设置页面的图像,其中为资源包选择了附加内容菜单。 我的资源包和激活按钮四周有一个红色的矩形。

故障排除

资源包问题? 故障排除是任何开发过程的常规部分。 下面是一些开始对缺失的资源包进行故障排除的情形。

您的资源包不出现在《我的世界》中

如果您的资源包没有出现在世界的 Add-Ons 部分,则表明 manifest.json 文件格式不正确。 我们来调查一下。

  • manifest.json 的 header 和 modules 部分是否有两个不同的 UUID? 有关详细信息,请参阅 UUID 部分。
  • 您是否打开了文件扩展名和路径? 如果您的资源管理器窗口没有显示文件扩展名,可在查看选项卡下启用文件扩展名
  • 仔细检查 JSON 花括号和方括号。 JSON linting 工具可以提供帮助。

显示有资源包,但内容不起作用

  • 检查 textures 文件夹是否位于正确的位置,并且拼写正确。 然后检查 blocks 文件夹。
  • 下载原版资源包并尝试将您的方块添加到现有的 textures/blocks 文件夹。
  • 确保新材质文件的名称与您要替换的原版材质相同。
  • 由于包堆叠,将您的包移动到其他资源包上方,以确保您的 dirt.png 材质在其他资源包之前加载。

下一步内容?

自定义材质现在已成为您的《我的世界》的世界的一部分,接下来我们学习行为包如何改变现有实体行为。 在下一节中,您将向通常和平的奶牛实体添加攻击性行为。

要查看未更改的资源和行为文件的示例,请查看《我的世界》原版资源包原版行为包