跳到主要内容

背包交互事件

KetherModulesLite 支持监听玩家的背包交互行为,配置文件为 inventory.yml

事件类型

事件标识说明
rightClick_item在背包中右键点击物品时触发
closeInv关闭背包时检测指定槽位的物品

rightClick_item — 右键物品

当玩家在背包中右键点击匹配条件的物品时触发 Kether 脚本。

匹配条件使用 InferItem 系统,支持按 material(材质)、name(名称)、lore(描述)多维度匹配。所有条件为列表格式,满足任一即匹配。

默认配置:

rightClick_item:
- item:
lore:
- '123'
name:
- '456'
material:
- 'stone'
actions: |-
tell "123"
tell inline "已选择物品 {{ &selectSlot }}"
- item:
material:
- 'furnace'
lore:
- 'kml测试物品'
actions: |-
tell inline "已选择物品 {{ &selectSlot }}"

说明:

  • item.material — 匹配物品材质(Bukkit 材质名,小写)
  • item.name — 匹配物品显示名称(包含即匹配)
  • item.lore — 匹配物品 Lore 描述(包含即匹配)
  • actions — 匹配成功时执行的 Kether 脚本
  • &selectSlot — 内置变量,表示玩家点击的槽位编号

多个匹配条件可以组合使用,也可以只写其中一个。

closeInv — 关闭背包检测

当玩家关闭背包时,检测指定槽位的物品是否满足条件,满足则执行动作。

默认配置:

closeInv:
- slot: 9
item:
name:
- '456'
actions: |-
tell inline "{{ &selectSlot }} 槽位满足条件 执行动作"

说明:

  • slot — 要检测的背包槽位编号
  • item — 物品匹配条件(同 rightClick_item 的 item 格式)
  • actions — 条件满足时执行的 Kether 脚本
  • &selectSlot — 内置变量,表示检测的槽位编号

InferItem 匹配系统

背包事件使用 InferItem 匹配系统来判断物品是否符合条件。支持的匹配维度:

维度说明
material物品材质名
name物品显示名称(包含匹配)
lore物品 Lore 描述行(包含匹配)

每个维度都是列表格式,列表中的条目为"或"关系(满足任一即可)。多个维度之间为"与"关系(需同时满足)。

示例 — 匹配名称包含"魔法"且材质为钻石剑的物品:

item:
material:
- 'diamond_sword'
name:
- '魔法'