BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。
模组:Content Patcher 制作指南/嵌入素材
← 模组:目录
带有 "Action": "Include"
的补丁可以让您从另外一个 JSON 文件里加载其他补丁。
用法
概述
您不必将模组所有补丁都定义在一个 content.json
,您可以在其他文件里定义补丁,然后在 content.json
中使用用 Include
来引用其他文件的补丁。这些引用的补丁会像您自己这些补丁复制到 Include
的位置那样工作。例如,它们可以使用与 content.json
中相同的功能(如 令牌和条件),并且任何本地文件路径仍然相对于 content.json
。
被引用的文件必须是包含 "Changes"
字段的 .json
文件
{
// 不能有Format
"Changes": [
/* 补丁放这里 */
]
}
格式
一个 Include
补丁由 Changes
(请参阅下文示例)下的一个模型组成,包含以下字段。
- 必填字段:
-
字段 用途 Action
要进行的更改类型。此操作类型设置为 Include
。FromFile
包含补丁的 .json
文件的相对路径,或多个逗号分隔的路径。此路径始终相对于您的content.json
(即使包含文件包含着另一个文件)。 - 可选字段:
-
类型 作用 When
(可选)仅在给定的条件匹配时应用这个内容补丁。 LogName
(可选)在日志中显示的补丁名称。这有助于查找错误。如果省略,则默认为类似 Include patches/data.json
的名字。Update
(可选)补丁字段的更新频率。请参阅补丁更新频率。 LocalTokens
(可选)一组仅在此补丁中生效的局部令牌。所有被引用的补丁都会继承这些令牌。
示例
最简单的情况是使用 Include
把您的补丁分类到子文件里:
{
"Format": "2.7.0",
"Changes": [
{
"Action": "Include",
"FromFile": "assets/John NPC.json, assets/Jane NPC.json"
},
]
}
您也可以将其与令牌和条件结合起来,从而动态地加载文件:
{
"Format": "2.7.0",
"Changes": [
{
"Action": "Include",
"FromFile": "assets/John_{{season}}.json",
"When": {
"EnableJohn": true
}
}
]
}
常见问题
可以Include的文件是否有限制?
没有。您可以从任意数量的文件中 Include
补丁,这些补丁里也可以使用 Include
补丁来加载其他文件,您还可以多次 Include
同一个文件。在每种情况下,它的工作原理都和您将所有补丁粘贴到“content.json”中的该位置一样。
唯一的限制是您不可以有循环的 Include
(例如文件 A 引用文件 B,而文件 B 也引用文件 A)。
可以使用 Include 加载非补丁文件吗?
不可以。Include
的文件只能包含一个 Changes
字段。如果您试图添加 ConfigSchema
、CustomLocations
、DynamicTokens
字段,那么 Content Patcher 会报错。