打包世界模板

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

  • 什么是世界模板以及如何使用。
  • 创建世界模板所需的文件夹和文件结构。

世界模板是一个框架,可以此模板为基础创建新的世界。 基于模板创建的每个世界都是一样的,这对 生存生成 特别有用。 市场上的所有世界都是世界模板。 世界模板的文件扩展名为 .mctemplate,与常规 (.mcworld) 世界文件相比,其结构略有不同。

要打包世界模板,您需要创建一个 world_template 文件夹,其中包含世界文件(包含 manifest.json、level.dat 等的 db 文件夹)、world_behavior_packs.jsonworld_resource_packs.json 和您的关键艺术 world_icon.jpeg。 如果您有行为包,请将打包后的行为包放在 world_template 文件夹中(请参见 行为包简介 了解如何创建行为包)。

最后,您必须确保您的资源包和行为包文件夹名称不多于 10 个字符。 这缘于 Xbox 上的一个问题,长路径可能会导致您的资源或行为包无法正确加载。 我们建议使用内容标题的首字母缩写词作为包的文件夹名称。

警告

随着 1.18 的发布,使用基础游戏版本 1.17.4 或更早版本创建的模板将使用新的世界生成工具进行更新,并且在基于该模板构建新地图时可能会破坏内容。

要了解有关此场景的更多信息,请访问将世界模板的基础游戏版本更新到 1.18

世界模板的文件夹结构

下图显示了如何配置世界模板 (World Template) 文件夹结构。

完整世界模板的文件夹结构

重要

Windows 10 中允许的默认最大文件路径为 260 个字符。 在设置文件夹目录时请注意,如果您接近字符限制,请使用简短命名约定。

manifest.json

创建一个名为 manifest.json 的 JSON 文件,该文件将您的内容定义为世界模板。

  • name:该字段始终为 pack.name
  • description:该字段始终为 pack.description
  • version:告诉游戏包的版本。 对于创建新的内容,始终使用 [1, 0 ,0]
  • uuid:您需要从以下站点生成两个不同的 UUID:https://www.uuidgenerator.net/version4。
  • type:告诉游戏将此包视为世界模板

模板:world template manifest.json:

{
  "header": {
    "name": "pack.name",
    "description": "pack.description",
    "version": [1, 0, 0],
    "uuid": "<GENERATE A UUID>"
  },
  "modules": [
    {
      "version": [1, 0, 0],
      "type": "world_template",
      "uuid": "<GENERATE A UUID>"
    }
  ],
  "format_version": 2
}

world_behavior_packs.json 和 world_resource_packs.json

如果您的世界需要资源包和/或行为包,您必须在此处使用包的 uuid 明确定义它们。 这两个 JSON 文件使用相同的格式,但您必须确保在每个文件中输入正确的 uuid

  • pack_id:所需的资源包或行为包的 uuid。
  • 确保 world_resource_packs.json 只包含所需的资源包,而 world_behavior_packs.json 只包含所需的行为包。
  • version:资源包或行为包的版本,在包的 manifest.json 中定义。

模板 world_behavior/resource_packs.json:

[
    {
        "pack_id": "<UUID FROM REQUIRED PACK>",
        "version": [1, 0, 0]
    }
]

world_icon.jpeg

这是从模板创建您的世界时显示的图像。 对于市场中的世界模板,此图标的风格应与您的关键艺术相似。 非市场模板不需要世界图标,但如果模板是从现有世界制作的,则世界图标已经可供使用。

  • 尺寸:800x450px
  • 文件格式:JPEG

texts 文件夹

world_template 文件夹中的 texts 文件夹用于放置定义世界的名称和描述的 en_US.lang 文件。

texts 文件夹的结构

en_US.lang

这是定义您的世界的名称和描述的位置。 您需要在 .lang 文件中包含这两行:

  • 包的名称:pack.name=[name of pack] pack.name=[name of pack]
  • 包的描述:pack.description=[description of pack] pack.description=[description of pack]
    • 使用“Elevator Pitch”来简要地捕捉您的内容。

模板 en_US.lang:

= 后面的名称将显示在游戏的 UI 中。

pack.name=Western World
pack.description=Howdy partner

languages.json

此文件告诉游戏您的皮肤包支持哪些语言。 仅英语是必需的。 如果您想支持其他语言,可以制作其他 xx_YY.lang 文件,然后进行编辑此文件,以告诉游戏您支持这些语言。

模板 languages.json:

[
    "en_US"
]