- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
手册:数据驱动
数据驱动接口通常以JSON的形式使用,它们都需要遵循一定的格式。
格式
游戏使用模式来校验JSON文本,大多数文件的基本模式相同,都是如下框架:
{
"format_version": "<version>", //格式版本
"minecraft:<domain>": { //所属域(有些文件中不含“minecraft”命名空间)
"description": {
//描述
},
//其他内容
}
}
而大框架下还包含了很多其他内容,这些内容可以分为许多类,并且它们也有一定的格式规范。在使用数据驱动接口前,应先了解它们的格式规范,才能在合适的地方正确使用它们。
描述
描述用于对这个JSON文件所定义的内容进行大致定义,它是一个名为description的对象。在描述对象中有一个名为identifier的参数,它用于定义赋命名空间标识符(有些文件中不含命名空间,仅为标识符);有些文件中还有其他参数,例如实体行为定义文件中有is_spawnable、is_summonable和is_experimental三个参数。
组件
组件被包含在与描述同级且名为components或conditions的对象中,它们用于赋予所编写内容一些基本功能和特性。
组件组
组件组是实体行为定义文件中的一种格式,它们被包含在与描述同级且名为component_groups的对象中。每个组件组中都包含了一些组件,这些组件组用于在事件中批量添加或删除组件。组件组的格式如下:
"component_groups": {
"<name>": { //组件组名称
//组件
},
//……
}
事件
事件包含了许多事件响应,用于在特定条件下(被触发器触发时)执行其中所含的事件响应。事件被包含在与描述同级且名为events的对象中,其基本格式如下:
"events": {
"<name>": { //事件名称
//事件响应
},
//……
}
置换
置换被包含在方块行为定义文件中与描述同级且名为permutations的数组中,其中有一个名为condition的参数用于设置Molang条件,还有一个名为components的对象用于填写组件。置换用于在特定条件下用其中的组件覆盖已有组件,其格式如下:
"permutations": [
{
"condition": "<molang>", //条件
"components": {
//组件
}
},
//……
]
过滤器
部分组件中可填写过滤器,其本质上是一个对象,里面包含了test、subject、operator和value四个参数。过滤器用于根据条件筛选目标。
接口
下方列出了国际版数据驱动接口的内容:
以上均为最新测试版的内容,欲查看当前最新测试版或预览版(1.20.50.22)中已被移除或被禁用的组件,请前往过时内容页面查看。