数据驱动
数据驱动(Data-driven)是一种使用静态文件来添加或修改游戏内容的模组编写方式的总称。使用数据驱动来编写模组的文件被称为数据驱动文件(Data-driven File),亦被称作数据(Data),数据驱动过程中用到的组件被称为数据驱动组件(Data-driven Component),数据驱动编写的游戏内容被称为数据驱动内容(Data-driven Content)。
数据驱动文件类型
以下列出了当前附加包支持的数据驱动文件类型,这些文件的格式往往由格式版本控制。点击对应链接可以快速跳转。
常规
- 清单文件:为附加包提供定义的文件,即manifest.json或pack_manifest.json。
渲染相关
- 纹理:提供游戏内一切可渲染事物的表面纹理。
- 纹理集:提供同一个事物的一组纹理。
- 着色器:提供纹理的具现方式。
- 材质:提供着色器的具体可供调用实例。
- 模型:为实体、方块或物品提供立体效果。
- 相机:提供客户端的渲染视图相机定义。
声音相关
界面相关
实体相关
- 实体客户端定义:定义实体的客户端,包括实体的模型、纹理、渲染、动画、声音、粒子等。
- 实体服务端定义:定义实体的服务端,包括实体的逻辑、特性、属性、行为等。
- 动画:提供实体的客户端骨骼动画或服务端逻辑动画。
- 动画控制器:提供动画的状态机,即动画间的转移和过渡方式。
- 渲染控制器:提供实体的渲染方式。
- 生成规则:提供实体的生成规则。
- 生成组:提供劫掠等事件过程中的各生成组。
- 行为树:提供实体自动化行为序列。
方块和物品相关
- 方块客户端定义:定义方块客户端的文件,即blocks.json。
- 方块服务端定义:定义方块的服务端。
- 物品客户端定义:定义物品的客户端。
- 物品客户端偏移量定义:定义物品的客户端手持时的偏移量。
- 物品服务端定义:定义物品的服务端。
效果相关
世界生成相关
表相关
- 战利品表:提供实体死亡、方块掉落、生物装备、物品栏填充等用途的物品抽取规则表。
- 交易表:提供村民或具有交易相关组件的实体交易时的物品抽取规则表。
- 配方:提供物品的合成表、烧制表、酿造表等配方。
- NPC对话:提供具有NPC相关组件的实体的对话内容和按钮功能。
NBT相关
命令相关
数据驱动中的语法
数据驱动文件中存在一些脚本或命令等需要专门的解释器的部分,这些部分的格式往往由附加包或对应数据驱动文件的最低引擎版本控制。点击对应链接可以快速跳转。
脚本相关
- Molang:一种类C族语言轻量级脚本,以字符串形式出现在数据驱动文件中的字段中。
命令相关
- 命令:一种游戏内快捷方式,使用
/<command> <args>
语法,出现在函数中或以字符串形式出现在数据驱动文件中的字段中。