数据驱动

Creative Commons License

数据驱动Data-driven)是一种使用静态文件来添加或修改游戏内容的模组编写方式的总称。使用数据驱动来编写模组的文件被称为数据驱动文件Data-driven File),亦被称作数据Data),数据驱动过程中用到的组件被称为数据驱动组件Data-driven Component),数据驱动编写的游戏内容被称为数据驱动内容Data-driven Content)。

数据驱动文件类型

以下列出了当前附加包支持的数据驱动文件类型,这些文件的格式往往由格式版本控制。点击对应链接可以快速跳转。

常规

  • 清单文件:为附加包提供定义的文件,即manifest.jsonpack_manifest.json

渲染相关

  • 纹理:提供游戏内一切可渲染事物的表面纹理。
  • 纹理集:提供同一个事物的一组纹理。
  • 着色器:提供纹理的具现方式。
  • 材质:提供着色器的具体可供调用实例。
  • 模型:为实体、方块或物品提供立体效果。
  • 相机:提供客户端的渲染视图相机定义。

声音相关

  • 音效:提供游戏内声音效果。
  • 音乐:提供游戏内背景音乐。

界面相关

  • JSON UI:提供旧版界面效果。
  • i18n:提供游戏内文本翻译。
  • 字体:提供字型。
  • 表情符:提供表情符号。

实体相关

  • 实体客户端定义:定义实体的客户端,包括实体的模型、纹理、渲染、动画、声音、粒子等。
  • 实体服务端定义:定义实体的服务端,包括实体的逻辑、特性、属性、行为等。
  • 动画:提供实体的客户端骨骼动画或服务端逻辑动画。
  • 动画控制器:提供动画的状态机,即动画间的转移和过渡方式。
  • 渲染控制器:提供实体的渲染方式。
  • 生成规则:提供实体的生成规则。
  • 生成组:提供劫掠等事件过程中的各生成组。
  • 行为树:提供实体自动化行为序列。

方块和物品相关

效果相关

  • 粒子:提供一种轻量级颗粒效果。
  • 迷雾:提供一种体积效果。
  • 功能域:提供在一定区域内的特定的和效果和功能。

世界生成相关

表相关

  • 战利品表:提供实体死亡、方块掉落、生物装备、物品栏填充等用途的物品抽取规则表。
  • 交易表:提供村民或具有交易相关组件的实体交易时的物品抽取规则表。
  • 配方:提供物品的合成表、烧制表、酿造表等配方。
  • NPC对话:提供具有NPC相关组件的实体的对话内容和按钮功能。

NBT相关

  • 存档文件:在世界模板中为世界提供基本信息的文件,即level.dat
  • LevelDB:在世界模板中提供世界的主体。
  • 结构:提供一定大小的既定方块组合。

命令相关

  • 函数:提供一个命令执行序列。
  • 函数滴答:提供跟随游戏滴答主循环而每刻执行的函数的文件,即tick.json

数据驱动中的语法

数据驱动文件中存在一些脚本或命令等需要专门的解释器的部分,这些部分的格式往往由附加包或对应数据驱动文件的最低引擎版本控制。点击对应链接可以快速跳转。

脚本相关

  • Molang:一种类C族语言轻量级脚本,以字符串形式出现在数据驱动文件中的字段中。

命令相关

  • 命令:一种游戏内快捷方式,使用/<command> <args>语法,出现在函数中或以字符串形式出现在数据驱动文件中的字段中。
上次更新:
贡献者: MiemieMethod