跳转到正文
iPlugin

TabooLib 复合文本

用 fmsg 为聊天消息添加样式、悬停与点击。

消息写法

# 图标 action 字段
action: "fmsg '&7帮助:[打开菜单](color=b;hover=点击打开 hello;command=/invero menu open hello)'"

点击消息中的“打开菜单”执行玩家命令,悬停时显示提示。命令需要玩家具备相应权限。

基本格式

普通文字[特殊文字](属性=值;另一属性=值;标志属性)普通文字

方括号包住文本,圆括号设置属性;多个属性用分号隔开,属性与值用等号连接。b、i 等样式标志直接填写。

样式属性

属性简写示例
colorccolor=a、color=#47856e
gradientggradient=#47856e,#2c89a0
boldbb
italicii
删除线ss
下划线uu
obfoo
resetrreset
fontffont=minecraft:default
newlinebr、nlbr

例如 [你好](color=a;b) 为绿色粗体。渐变颜色使用逗号分隔。b、i 等为样式标志,省略时不主动添加该样式。

点击与悬停

属性作用示例
command / cmd执行玩家命令command=/invero menu open hello
suggest填入聊天输入框suggest=/invero menu open hello
url打开链接url=https://github.com/0ruuid/Invero
copy复制文字copy=hello
hover / h显示悬停说明`hover=第一行
insertion / insertShift 点击插入文字insertion=hello

同一文本块设置一种点击方式;悬停可以和点击组合。command 包含开头 /,suggest 只填入文字而不执行。

常用消息

action: "fmsg '[帮助](color=e;hover=第一行||第二行||第三行)'"

悬停文字使用 || 或 <br> 换行。

不同样式与嵌套

[这一句有[强调](color=e;b)的部分](color=7)

外层为整句设置灰色,内层将“强调”改为黄色粗体。多个独立点击区域使用并列文本块,各自填写属性。

引用悬停内容

action: |-
  fmsg """[帮助](hover=@help)
  @help=第一行[重点](color=e)
  """

hover=@help 引用下面单独一行的 @help 内容。引用中可继续使用文字样式。

转义

需要原样显示 [、]、(、)、;、= 或反斜杠时,在其前面加反斜杠:

action: |-
  fmsg '\[公告\] [查看](hover=包含\;分号与\=等号)'

这条消息原样显示 [公告],悬停内容中保留分号和等号。多行 YAML 写法可保留这些转义字符。

客户端文字

写法显示内容
[key.jump](keybind)跳跃键名称
[translation.key](translate)客户端语言键
[玩家名](score;objective=目标名)对应记分板目标的分数

这些文字需要对应的客户端语言键或记分板目标。

菜单示例

plugins/Invero/workspace/text-demo.yml
menu:
  title: '&8两套富文本'
  rows: 1
panels:
  - layout:
      - '  F   M  '
    icons:
      F:
        material: BOOK
        name: '&bTabooLib 复合文本'
        action: "fmsg '[帮助](color=b;hover=这是一条 TabooLib 悬停消息)'"
      M:
        material: PAPER
        name: '&aMiniMessage'
        action: "mmsg '<green><hover:show_text:这里是MiniMessage>帮助</hover></green>'"

下载 text-demo.yml。两个按钮分别发送复合文本与 MiniMessage,悬停效果显示在聊天消息上。

最后更新于