数据 - data
介绍
通过使用 data 配置项,可以将某些需要动态化的信息数据保存在物品中,方便后续获取、修改、使用,可完成基本的 CRUD 操作。
data 处于 AzureFlow 三层架构中的数据层,可直接调用相关语句进行处理,即无需加上引用表达式${}
,支持使用 js 等脚本语法。
语法
大致使用方法如下:
data:
数据名1: 数据值1
数据名2: 数据值3
数据名2: 数据值3
#...: ...
示例
参考如下物品数据配置,即可完成数据项的定义
data:
level: 100
name: "斩碎虚空之剑"
owner: player.name
attribute_name: '["物理攻击", "魔法攻击", "物理防御", "魔法防御"].sample()'
attribute_value: 'random.int(1, 100)'
按照如上配置,我们定义了
一个值为100,类型为整数的等级数据
一个值为斩碎虚空之剑,类型为字符串的物品名称数据
一个值为玩家的名字,类型为字符串的拥有者名称数据
一个为数组中随机一个值的属性名数据
一个值为 1~100 随机数值的属性值数据
你知道吗?
AzureFlow 存储物品数据的原理实际上是将处理过( processed )的数据通过 minecraft nbt 技术持久化存储到物品上。
例如,如下配置的数据:
data:
level: 100
将会根据如下路径与规则被存储到物品的 nbt 上
{
AzureFlow: {
data: {
level: 100
}
}
}
Last updated