物品函数
LyCore 注册了 Aviator 物品函数,供离渊系列插件或其它已接入 Aviator 的配置调用。
函数调用时会从上下文读取 player。匹配物品 还会读取当前传入的 item。
函数列表
| 函数 | 返回 | 说明 |
|---|---|---|
匹配物品(...) | 布尔值 | 判断当前物品是否满足条件 |
统计物品(...) | 数字 | 统计玩家拥有的指定物品数量 |
扣除物品(...) | 布尔值 | 从玩家身上扣除指定物品 |
给予物品(...) | 布尔值 | 已注册函数名,当前版本不建议直接在业务配置中使用 |
匹配条件
| 条件 | 写法 | 说明 |
|---|---|---|
| MythicMobs 物品 | mm=物品ID | 与 MythicMobs 物品库生成的物品比较 |
| NeigeItems 物品 | ni=物品ID | 与 NeigeItems 物品库生成的物品比较 |
| SXItem 物品 | si=物品ID | 与 SXItem 物品库生成的物品比较 |
| AzureFlow 物品 | af=物品ID | 与 AzureFlow 物品库生成的物品比较 |
| 精确名称 | name=物品名 | 物品显示名完全一致 |
| 精确 lore | lore=文本 | 任意一行 lore 完全一致 |
| 精确 NBT | nbt=值 | 任意字符串 NBT 值完全一致 |
| 包含名称 | name_contains=文本 | 物品显示名包含文本 |
| 包含 lore | lore_contains=文本 | 任意一行 lore 包含文本 |
| 包含 NBT | nbt_contains=文本 | 任意字符串 NBT 值包含文本 |
| 物品 ID | id=类型 或 id=类型:耐久 | 类型可写 Bukkit 材质名或数字 ID |
颜色符号可以使用 &,函数内会转换成 §。
匹配物品
判断当前物品名称是否包含指定文本:
text
匹配物品("name_contains=强化石")同时判断名称和 lore:
text
匹配物品("name_contains=强化石", "lore_contains=可用于装备强化")判断物品类型:
text
匹配物品("id=DIAMOND")兼容旧版本数字 ID 和耐久:
text
匹配物品("id=351:1")统计物品
统计玩家背包里名称包含 强化石 的物品数量:
text
统计物品("name_contains=强化石")统计 MythicMobs 物品库中的指定物品:
text
统计物品("mm=强化石")统计范围包含玩家背包。安装对应插件时,也会尝试统计传统仓库、战利品仓库和清守灵魂空间中的物品。
扣除物品
扣除 5 个名称包含 强化石 的物品:
text
扣除物品("name_contains=强化石", "amount=5")扣除 MythicMobs 物品:
text
扣除物品("mm=强化石", "amount=1")扣除顺序为玩家背包、清守灵魂空间、传统仓库、战利品仓库。某个插件未安装时会自动跳过。
给予物品
给予物品 在当前版本已经注册,但物品库 ID 参数没有稳定开放。正式配置里建议优先使用业务插件自己的奖励发放方式。