LogoArcartX Doc

频道与玩家操作

自定义频道、聊天格式和玩家操作菜单

频道与玩家操作

频道配置

频道在 plugins/Chorus/channels.yml 中配置:

guild:
  display-name: "公会"
  priority: 500
  icon: "chorus/icons/channel-guild.png"
  active-icon: "chorus/icons/channel-guild-light.png"
  prefix: "&8[&d公会&8] &r"
  filter-prefix: "[公会] "
  selectable: true
  scope: GLOBAL
  recipient-resolver: guild
  send-permission: "guild.chat"
  receive-permission: "guild.chat"
  formats:
    leader:
      priority: 100
      permission: "guild.leader"
      template: "&d[会长] &f{player}&8: &f{message}"
    default:
      priority: 0
      permission: ""
      template: "&d{player}&8: &f{message}"
字段说明
display-name频道在界面中的名称
priority频道列表排序优先级,数值越大越靠前;同值保持提供器顺序
icon / active-icon普通和选中状态的客户端图标,两项都必须填写
prefix实际消息前缀,不能为空,支持 & 颜色
filter-prefixAX UI Chat.filter 使用的显示前缀,非空值不能重复
selectable是否显示在频道选择器中
scopeLOCAL 或 GLOBAL
recipient-resolver接收者解析器 ID
send-permission发送权限,空字符串表示不限
receive-permission接收候选权限,空字符串表示不限
formats按 priority 从高到低选择的聊天格式

每个频道至少需要一个 permission: "" 的默认格式。格式模板必须包含 {player} 和 {message},还可以使用 {server} 与 PlaceholderAPI 变量。

channels.yml 只定义由 Chorus 配置持有的频道。外部插件有两种互斥接入方式:

  • 由服主在 channels.yml 定义频道,外部插件只注册 recipient-resolver 指向的 RecipientResolver;
  • 外部插件通过 ChannelProvider 完整注册 ChannelView,此时不要在 channels.yml 重复配置同 ID 频道。

综合频道的 filter-prefix 建议保持空字符串,让它显示所有已接收内容。内置 danmaku 频道必须存在、可以选择,并设置为 GLOBAL,不需要不给玩家权限即可。

每个配置频道都必须填写整数 priority。频道 ID 长度为 1..32,只能包含小写字母、数字、下划线、点和连字符。

玩家操作菜单

菜单按钮在 plugins/Chorus/player-actions.yml 中配置:

buttons:
  invite-team:
    enabled: true
    title: "邀请组队"
    description: "邀请该玩家加入队伍"
    priority: 900
    permission: "party.invite"
    trigger:
      type: COMMAND
      value: "party invite {target}"
      sender: PLAYER
字段说明
enabled是否启用按钮
title按钮标题,最多 64 字符
description按钮说明,最多 160 字符
priority排序值,越大越靠前
permission玩家查看和执行按钮所需权限
trigger.typeACTION 或 COMMAND
trigger.valueAPI 动作 ID 或要执行的命令
trigger.sender命令发送者,PLAYER 或 CONSOLE

ACTION 类型的 trigger.value 必须与附属插件通过 registerPlayerAction 注册的动作 ID 一致。未注册的动作不会出现在菜单中;需要玩家输入一行内容时,动作可通过 PlayerActionInput 声明输入标签和占位文字。COMMAND 类型由配置的 PLAYER 或 CONSOLE 执行,命令模板支持 {viewer}、{viewer_uuid}、{target} 和 {target_uuid}。

按钮 ID 长度为 1..64,只能包含小写字母、数字、下划线、点和连字符。

On this page