物品元
标签
ItemSystem
字数
359 字
阅读时间
2 分钟
物品元是干什么的?
物品元会根据元数据,直接操作物品 例如: display
展示名物品元,是根据提供的文本,设置物品展示名 lore
描述物品元,是根据提供的文本,增加物品的描述
怎么使用?
在 process / 全局物品元数据 中书写物品元数据
物品元数据 = 物品元 + 参数
yaml
process:
#通用写法
## - meta: 物品元id
## 参数1: 值
## 参数2: 值
## ...
- meta: define
key: "示例变量"
type: string
value: "我是字符串变量"
- meta: display
display: "展示名"
#对于单参数
#- 物品元id: 参数
- display: "展示名"
- lore:
- "第1行"
- "第2行"
#对于 物品元define,你可以省略 meta: define
#就像这样
- key: "示例变量"
type: string
value: "我是字符串变量"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
都有哪些?
拓展
拓展的物品元与普通物品元的使用无异
需要用到 Memory
JavaScript
javascript
//@Meta(custom-meta)
function customMeta(memory) {
//获取str参数
const str = memory.getString("str");
memory.builder.lore.add("来自CustomMeta: " + str);
}
1
2
3
4
5
6
2
3
4
5
6
Kotlin
你可以去Github借鉴源码
kotlin
@AutoRegister
object MetaDamage : BaseMeta("damage") {
override fun invoke(memory: Memory) {
with(memory) {
builder.damage = getInt("damage")
}
}
override fun loadData(data: ItemData): Any {
data.itemTag.remove("Damage")
return data.builder.damage
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15