抽取项
- 抽取项存在于每个随机池的抽取项列表中,以下信息引自Minecraft-wiki/战利品表#抽取项
抽取项类型列表
单一抽取项
- 单一抽取项定义了单个物品生成行为,是随机池中最终要抽取的带权重的项目。
抽取项类型 | 作用 | 语句 |
---|---|---|
物品 | 掉落一个物品 | addItem() |
组 | 掉落一组物品 | - |
战利品表 | 从另一个战利品表决定掉落什么 | - |
空 | 什么都不掉的战利品 | addEmpty() |
复合抽取项
- 复合抽取项则不是要抽取的项目,不会直接放入随机池中,而是展开为零个、一个或多个抽取项,即根据条件选取零个、一个或多个抽取项。被选取的抽取项如果是复合抽取项,还会再进行进一步的展开。直到展开结果全部为单一抽取项后,将这些单一抽取项放入随机池中。
抽取项类型 | 作用 | 语句 |
---|---|---|
选择 | 从中掉落第一个满足条件的战利品 | - |
组 | 掉落一组物品 | - |
序列 | 按依次掉落,直到某一项谓词不通过 | - |
特殊抽取项
- tag类型的抽取项较为特殊,根据其布尔型expand字段的值,决定其是一个单一抽取项还是一个复合抽取项。若布尔型expand为true,则是复合抽取项,将会展开为多个类似item类型的单一抽取项,但由于漏洞 ,这些展开的单一抽取项不会应用物品修饰器。
| 抽取项类型 | 作用 | 语句 | |:------------😐:---------😐:---------😐:---------😐 | 物品标签 | 掉落标签中1个或全部物品 | - |
添加抽取项
在addPool(pool=>{})中使用;
示例:
js
ServerEvents.blockLootTables(event => {
event.addBlock('minecraft:gravel', loot => {
loot.addPool(pool => {
pool.addItem('minecraft:diamond')
})
})
})