Skip to content

配置说明

修改 config.ymlmessage.ymlpacket/*.yml 后,可以使用 /yrc reload 重载。

配置文件

文件 / 目录用途
config.yml基础设置
message.yml消息文本
packet/随机命令组配置

配置示例

下面是一个精简后的随机命令组示例。复制时注意文件路径。

yaml
# 是否开启调试模式
debug: false

# 是否启用 bStats
metrics: true
yaml
# 命令组 ID,执行时使用 /yrc run <玩家> starter 1
starter:
  # 条件列表,可删除
  match:
    - "permission:{starter.reward}"
    - "papi:{%player_level% >= 10}"

  # 条件模式
  # true  = 所有条件都满足才通过
  # false = 满足任意一个条件就通过
  match-model: true

  # 条件通过 / 不通过时发送给玩家的消息,可删除
  succeed-message: "&a条件通过,开始抽取奖励"
  fail-message: "&c条件不通过,无法执行该命令组"

  # 随机节点
  reward:
    common:
      chance: 50
      commands:
        - "[console] give %player% diamond 1"
        - "[message] &a你获得了 1 个钻石"
    rare:
      # 支持 PlaceholderAPI 变量和四则运算
      chance: "%player_level% + 10"
      commands:
        - "[console] give %player% emerald 5"
        - "[title] &6恭喜:&e抽中稀有奖励:10:40:10"
        - "[sound] ENTITY_PLAYER_LEVELUP:1.0:1.0"
yaml
MESSAGE:
  RELOAD: "配置文件重载完成"
  RUN_USAGE: "使用 /yrc run <玩家名> <命令组> [次数]"
  RUN_PLAYER_NOT_FOUND: "玩家 {0} 不在线"
  RUN_GROUP_NOT_FOUND: "命令组 {0} 不存在"
  RUN_INVALID_COUNT: "次数必须是大于0的整数"
  RUN_NO_COMMANDS: "命令组 {0} 未配置有效命令"
  RUN_SUCCESS: "已为玩家 {0} 执行命令组 {1} {2}次"
COMMAND:
  RELOAD: "重载插件的配置文件"
  RUN: "执行指定的命令组"
ERROR:
  USAGE_COMMAND: "命令用法错误"
ADMIN:
  NO_PERMISSION_CMD: "&c你没有权限执行此指令"
  NO_CMD: "&c未找到此子指令"
  NO_FORMAT: "&c格式错误"
  NO_ONLINE: "&c玩家不在线或玩家不存在"
  PLUGIN_RELOAD: "§c插件已重载"

权重

chance 是权重,不是百分比。

例如 common50rare10 时,总权重是 60。每次执行会在总权重里随机抽取,common 被抽中的概率约为 50 / 60

chance 支持四则运算和 PlaceholderAPI 变量,例如:

写法说明
50固定权重
%player_level% + 10按玩家等级动态增加权重
(%player_level% + 10) * 1.5支持括号和乘除

提示

计算结果会向下取整。权重建议保持为大于 0 的数值。

条件

match 用于判断玩家是否满足执行条件。当前判断的物品是玩家主手物品。

条件说明
name:{文本}完全匹配物品名
contain_name:{文本}物品名包含指定文本
lore:{文本}完全匹配一行 Lore
contain_lore:{文本}Lore 任意一行包含指定文本
material:{DIAMOND}匹配物品类型
custom_model_data:{1001}匹配 CustomModelData,仅 1.14+ 有效
item_model:{minecraft:test}匹配 ItemModel,仅 1.21.2+ 有效
permission:{权限}玩家拥有指定权限
no_permission:{权限}玩家没有指定权限
papi:{%player_level% > 10}PAPI 数值或字符串判断
nbt:{文本}主手物品 NBT 包含指定文本

match-modeltrue 时,需要全部条件都通过;为 false 时,只要有一个条件通过即可。

命令类型

标识说明
[console]以控制台身份执行
[op]临时 OP 执行
[message]给玩家发送消息
[chat]让玩家发送聊天
[bc]全服广播
[sound]播放音效,格式为 [sound] 音效名:音量:音调
[actionbar]发送 ActionBar
[title]发送标题,格式为 [title] 主标题:副标题:淡入:停留:淡出
[delay]延迟后续命令,单位 tick
无标识以玩家身份执行命令

可用变量

变量说明
%player%目标玩家名
{chance}当前抽中奖励节点计算后的权重值
{node}当前节点 ID

命令内容也支持 PlaceholderAPI 变量,例如 %player_name%%player_level%