| | |  |  | | 复制代码#物品ID 用英文单引号括起来 内容随意 不要重复 不要包含 . 和空格
'001':
  #匹配物品显示名 可选 支持变量 没有此项则不限物品显示名
  name: '§6示例物品'
  #匹配物品Lore 可选 支持变量 没有此项则不限物品Lore
  lore:
    - '§3示例Lore'
  #是否精确匹配物品Lore 可选 没有此项默认为true 表示需要Lore完全一致 false表示不管实际物品有多少行Lore, 只要含有配置里存在的行即可
  #例如在配置中设置:
  #lore:
  # - 'AA'
  # - 'CC'
  #实际物品:
  # - 'AA'
  # - 'BB'
  # - 'CC'
  #如果使用精确匹配(true) 会认为这个物品不符合条件 因为不完全一致
  #如果使用包含匹配(false) 会认为这个物品符合条件 因为包含AA和CC
  lore-exact: true
  #匹配物品类型 可选 没有此项则不限物品类型 (虽然name,lore,type都是可选的,但至少要提供一个)
  #如果你不知道某个物品的类型是什么 可以使用 /ic type 命令查看手持物品的类型
  type: 'PAPER'
  #使用物品需要满足的条件 一行一个条件 可选 支持变量 格式为 类型:表达式,不满足条件时显示的消息(不想显示消息的话 只写,即可)
  #类型有三种: s = 字符串比较 、 d = 数值比较 、 直接逻辑值(不指定类型就会被认为是直接逻辑值)
  #字符串比较可使用的运算符 =(等于) !=(不等于) ==(忽略大小写等于) !==(忽略大小写不等于) >(大于) >=(大于等于) <(小于) <=(小于等于)
  #数值比较可使用的运算符 =(等于) !=(不等于) >(大于) >=(大于等于) <(小于) <=(小于等于)
  #直接逻辑值可使用的运算符 !(逻辑取反 单目运算符) 什么是直接逻辑值? 可用的逻辑值有true false yes(等于true) no(等于false) 其他字符串=false
  #什么是满足条件? 表达式执行后产生的结果如果为true 则满足条件 如果为false 则不满足条件
  condition:
    #运算符两边必须有空格, !(单目运算符)除外
    #字符串比较示例
    - 's:{player} != notch, §c你的名字是notch 不能使用此物品!'
    - 's:{player} != NOTCH, §c你的名字是NOTCH 不能使用此物品!'
    - 's:{player} !== notch, §c别以为换了大小写我就不认识你了 你还是不能使用此物品!'
    #数值比较示例(因为用到了PAPI变量, 所以需要安装PAPI并启用Player扩展才能正常执行)
    - 'd:%player_level% >= 30, §6等级达到30级才能使用此物品!'
    #直接逻辑值示例(因为用到了PAPI变量, 所以需要安装PAPI并启用Player扩展才能正常执行)
    # %player_is_flying% 会返回yes(飞行)或no(未飞行) 由于使用了!运算符进行取反 所以飞行时不能使用 去掉!就是飞行时才能使用了
    - '!%player_is_flying%, §e由于你正在飞行 不能使用此物品。'
  #触发方式 可同时选择多种触发方式 一行一种 可选 默认为right
  #支持的触发方式有: left(左键点击), right(右键点击), held(手持时), inv_left(物品栏内左键点击), inv_right(物品栏内右键点击)
  trigger:
    - 'left'
    - 'right'
  #物品使用后执行的动作 一行一个动作 支持变量 可选 没有此项则不执行任何动作
  #可选的动作有: cmd, op, console, tell, chat, sound, sound-all, broadcast, give-money, give-points,
  #  title, title-all, action-bar, action-bar-all, server 不指定默认为cmd
  #格式为 动作: 值 (动作后面需要紧跟一个英文冒号 否则无法识别出正确动作会默认为整行都是cmd动作的值)
  action:
    #cmd = 让使用物品的玩家执行命令 命令不需要加 /
    - 'cmd: help'
    #op = 让使用物品的玩家以op身份执行命令 同样不需要加 /
    - 'op: list'
    #console = 让控制台执行命令
    - 'console: say hi {player}'
    #tell = 给使用物品的玩家发送消息
    - 'tell: hi {player}'
    #chat = 让使用物品的玩家发送聊天消息
    - 'chat: 我使用了§6示例物品'
    #sound = 给使用物品的玩家播放指定音效
    - 'sound: ENTITY_EXPERIENCE_ORB_PICKUP'
    #sound-all = 给全服玩家播放指定音效
    - 'sound-all: ENTITY_EXPERIENCE_ORB_PICKUP'
    #broadcast = 给全服玩家发送消息(公告)
    - 'broadcast: {player}使用了§6示例物品'
    #give-money = 给予使用物品的玩家指定数量的钱 只能为正整数 使用此功能需要安装Vault以及支持Vault的经济插件
    - 'give-money: 10'
    #give-points = 给予使用物品的玩家指定数量的点券 只能为正整数 使用此功能需要安装PlayerPoints插件
    - 'give-points: 10'
    #title = 给使用物品的玩家发送Title消息 格式 标题,副标题,显示时间(秒) 注意 逗号为英文逗号 1.10及以下版本会无视显示时间 1.8以下版本不支持此动作
    - 'title: HiHiHi,没人看得到我 因为会被覆盖,10'
    #title-all = 给全服玩家发送Title消息 格式同上 注意 新的Title会覆盖没显示完的Title 所以这条Title会覆盖掉上面那一条
    - 'title-all: Hi,{player}使用了§6示例物品,10'
    #action-bar = 给使用物品的玩家发送ActionBar消息 1.8及以下版本不支持此动作 并且使用此动作需要使用Spigot或其衍生服务端 如Paper
    - 'action-bar: hi 没人看得到我'
    #action-bar-all = 给全服玩家发送ActionBar消息 注意 新的ActionBar会覆盖没显示完的ActionBar 所以这条ActionBar会覆盖掉上面那一条
    - 'action-bar-all: {player}使用了§6示例物品'
    #server = 让使用物品的玩家切换到指定的BC子服 如果你不知道这是什么 那么你不需要此功能
    - 'server: login'
  #使用物品需要花费的钱 可选 支持变量 不能为负数
  price: 10
  #使用物品需要花费的点券 可选 支持变量 不能为负数
  points: 10
  #使用物品需要花费的经验等级 可选 支持变量 不能为负数
  levels: 10
  #使用物品需要的权限 可选 支持变量
  permission: '示例权限'
  #使用物品会消耗的数量 可选 支持变量 不能为负数 物品数量不足不能使用 提供0或没有此项则不消耗物品
  required-amount: 1
  #冷却时间 单位秒 可选 支持变量 不能为负数 如果设置了冷却时间 表示使用此物品后必须等待指定的时间后才能再次使用此物品(冷却时间每个物品ID单独计算)
  cooldown: 10
#一个简单的匹配物品显示名的例子:
'002':
  #注意 所有用到颜色符号的地方请使用 § 而不是 &
  name: '§6银票'
  action:
    - 'give-money: 100'
    - 'tell: §b你使用了一张§6银票§b, 获得了100银币.'
    - 'sound: ENTITY_EXPERIENCE_ORB_PICKUP'
  required-amount: 1
#一个匹配物品显示名和物品类型的例子:
'003':
  #注意 这里就不要再用 '§6银票' 这个名称了, 因为上面那个例子只要求物品名称一致并且触发方式都是默认的right 这里再这样写就完全符合上面那个例子的匹配条件了
  #name: '§6银票'
  name: '§6真·银票'
  #类型为纸
  type: 'PAPER'
  action:
    - 'give-money: 1000'
    - 'tell: §b你使用了一张§6真·银票§b, 获得了1000银币.'
    - 'sound: ENTITY_EXPERIENCE_ORB_PICKUP'
  required-amount: 1
#一个匹配物品显示名和Lore以及物品类型的例子:
'004':
  name: '§6传送卷轴'
  lore:
    - '§a类型: §d消耗品'
    - '§b使用后可以在当前世界内随机传送。'
  type: 'PAPER'
  action:
    - 'op: tpr'
    - 'sound: ITEM_BOOK_PAGE_TURN'
  required-amount: 1
#同一种物品不同触发方式执行不同动作的例子(005、006):
'005':
  name: '§6§l新手保护券'
  lore:
    - '§d持有此保护券可在死亡时保留物品栏以及经验。'
    - '§a使用方法: §b放在物品栏中自动生效'
    - '§3仅限{player}本人使用'
    - '§5类型: §c消耗品'
    - ''
    - '§7注: 本券为消耗品,每张仅能使用一次。'
  type: 'PAPER'
  trigger:
    #手持时触发
    - 'held'
  action:
    - 'tell: §a用不到新手保护券?右键使用每张可兑换10级经验。'
#虽然006和005的name、lore、type相同,但是触发方式并不重叠,所以不会冲突。
'006':
  name: '§6§l新手保护券'
  lore:
    - '§d持有此保护券可在死亡时保留物品栏以及经验。'
    - '§a使用方法: §b放在物品栏中自动生效'
    - '§3仅限{player}本人使用'
    - '§5类型: §c消耗品'
    - ''
    - '§7注: 本券为消耗品,每张仅能使用一次。'
  type: 'PAPER'
  trigger:
    #右键点击触发
    - 'right'
  action:
    - 'console: xp add {player} 10 levels'
    - 'tell: §a你使用一张新手保护券兑换了10级经验。'
    - 'sound: ENTITY_EXPERIENCE_ORB_PICKUP'
  required-amount: 1
 | 
 | 
 | 
 |