手册:数据驱动

From Minecraft基岩版开发Wiki

数据驱动接口通常以JSON的形式使用,它们根据功能可以分为不同类型,且都需要遵循一定的格式。

类型[edit]

大多数文件的基本结构相同,都是如下框架:

{
  "format_version": "<version>", //格式版本
  "minecraft:<domain>": { //模式类型(有些文件中不含“minecraft”命名空间)
    "description": {
      //描述
    },
    //其他内容
  }
}

而大框架下还包含了很多其他内容,这些内容可以分为以下这些种类。

描述[edit]

描述用于对这个JSON文件所定义的内容进行大致定义,它是一个名为description的对象。在描述对象中有一个名为identifier的参数,它用于定义赋命名空间标识符(有些文件中不含命名空间,仅为标识符);有些文件中还有其他参数,例如实体行为定义文件中有is_spawnableis_summonableis_experimental三个参数。

组件[edit]

组件被包含在与描述同级且名为components的对象中,它们用于赋予所编写内容一些基本功能和特性。

组件可以分为以下几种类型:

条件[edit]

条件被包含在与描述同级且名为conditions的数组中,它们用于判断是否能在特定条件下执行所编写内容。

事件响应[edit]

一个事件可以包含多个事件响应。事件响应用于在特定条件下(被触发器触发时)执行其中所包含的事件响应。事件被包含在与描述同级且名为events的对象中,其基本格式如下:

"events": {
  "<name>": { //事件名称
    //事件响应
  },
  //……
}

过滤器[edit]

部分组件中可填写过滤器,其本质上是一个对象,里面包含了testsubjectoperatorvalue四个参数。过滤器用于根据条件筛选目标。

模式[edit]

游戏使用模式来校验JSON文本。所有JSON文本都应该按照模式所指定的格式来编写,这样才能将描述、组件、事件等内容组合起来,使游戏正常读取并达到预期效果。部分文件的模式比较特殊,它们不采用上述基本框架,而是直接对一些属性进行参数设置,例如配方模型战利品表等。

下面列出了这些文件的模式:

接口[edit]

下方列出了国际版数据驱动接口:

以上均为最新测试版的内容,欲查看当前最新测试版或预览版(1.19.20.24)中已被移除或被禁用的组件,请前往过时内容页面查看。

Template:Navbox Addon