MCIO Plugins MCIO Plugins
首页
爱发电 (opens new window)
无法下载? (opens new window)

人间工作P

我每天都好困… 最近在学习和进行 VOCALOID 创作
首页
爱发电 (opens new window)
无法下载? (opens new window)
  • FiguraLambda

  • SweetAdaptiveShop

  • SweetCheckout

  • SweetDrops

  • SweetMail

  • SweetMessages

  • SweetRewards

  • SweetTask

  • 杂物

    • 插件定制细则
    • 样式格式
      • 颜色
      • 颜色(详细)
      • 阴影颜色
      • 装饰
      • 重置
      • 点击
      • 鼠标悬停
      • 按键绑定
      • 可翻译文本
      • 插入文字
      • 彩虹
      • 渐变
      • 过渡
      • 字体
      • 换行
      • 选择器
      • 分数
      • NBT
  • 插件文档
  • 杂物
2025-04-12
目录

样式格式

这个页面是 MiniMessage/Format (opens new window) 的部分翻译,做了一些格式的修改和额外的说明。

插件开发者推荐将其与旧版本颜色代码替换算法 (opens new window)配合使用。

# 格式

MiniMessage 语言使用标签,所有你需要做的均以标签定义。标签均有一个起始标签和一个终止标签(不过 <reset> 是个例外)。

起始标签是必选的(显而易见),但终止标签在不开启 strict 模式的情况下可以省略。
以下示例看起来大不相同,但最终在视觉上是一致的。

  • <yellow>你好<blue>世界<yellow>!
  • <yellow>你好<blue>世界</blue>!
  • <yellow>你好</yellow><blue>世界</blue><yellow>!</yellow>

对于没有内容的标签,可以使用 <标签名/> 格式来自动结束。采用这种格式,即使在 struct 模式下,也不应该提供单独的结束标签 (</标签名>)。

所有标签名都是区分大小写的,以减少可能存在的冲突。但我们推荐所有标签名均使用小写(或者至少要保持格式一致)。

一些标签拥有参数,看起来就像这样:<标签名:参数>内容</标签名>。举个例子:

  • <hover:show_text:"<red>test:TEST">TEST
  • <click:run_command:test>TEST

如你所见,这里有时包含文本组件("<red>test:TEST"),有时包含数字、字符串,或其它类型。请参考文档下文。

单引号(')和双引号(")可交替使用。我们推荐前后保持一致,尽管为了减少转义引号,在使用某些参数时切换引号类型可能更合理一点。

任何会产生影响的、有意义的符号均可以被转义。

  • 在纯文本中,标签开头符号(<)可以在前面加一个捺斜杠(\)来转义。
  • 在引号中的字符串,同样可以转义引号('或")。
  • 在其它地方,转义字符都可以在相关的地方进行转义。
  • 为了处理起来简单,在未加引号的标签参数中不能进行转义
  • 在不支持转义的地方,转义字符会按原文一样被跳过
  • 在支持转义的地方,两个转义符号 \\ 可输出一个 \

默认的标签会尝试转换成文本组件,以与原版进行兼容,但会对部分元素进行一些缩减。使用 Minecraft Wiki (opens new window) 进行对原版文本组件系统的参考,可能会很有帮助。特别是像点击事件和鼠标悬停事件之类组件的参数。

MiniMessage网页编辑器 (opens new window) 可以让你在本地测试 MiniMessage 文字,而无需打开一个 Minecraft 实例。这会在你学习时对你有所帮助,比如将文档中的实例放到编辑器中进行预览。

# strict 模式

默认情况下,MiniMessage 是非常宽容的,无效的标签将会直接忽略。所有输入文字的起始标签都不需要与之对应的终止标签,它们会自动关闭(添加终止标签)。

应用程序可选开启 strict 模式,这将禁止使用 <reset>,并且要求所有起始标签都以反向的顺序进行关闭(添加终止标签)。任何使用 MiniMessage 的应用程序都应该向终端用户说清楚,程序使用了哪种语言变体(是否开启 strict 模式)。

# 标准标签

这里有一些 MiniMessage 自带且默认启用的标签。


# 颜色

十六进制颜色在 Minecraft 1.16 加入

下一部分的颜色

标签

  • <颜色名称>

参数

  • 颜色名称,可使用任何 Minecraft 颜色常量:black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white。
    dark_grey 可用于替代 dark_gray,同样地,grey 可用于替代 gray。
    十六进制颜色同样受支持,格式为 #RRGGBB。

示例

  • <yellow>你好<blue>世界</blue>!
  • <red>这是一个<green>测试!
  • <#00FF00>R G B!

# 颜色(详细)

十六进制颜色在 Minecraft 1.16 加入

以更详细的方式指定颜色

标签

  • <color:颜色名字或十六进制>

别名

  • <colour>, <c>

参数

  • 颜色名称或十六进制 可使用任何上述的值(即颜色名字或十六进制颜色)

示例

  • <color:yellow>你好<color:blue>世界</color:blue>!
  • <color:#FF5555>这是一个<color:#55FF55>测试!

# 阴影颜色

在 Minecraft 1.21.4 加入

下一部分的阴影颜色

标签

  • <shadow:颜色名字或十六进制:[透明度浮点数]>
  • <!shadow> 作为禁用阴影的别名(等效于 <shadow:#00000000>)

参数

  • 颜色名字或十六进制 颜色的名字,或者十六进制字符串,格式为 #RRGGBB 或 #RRGGBBAA
  • [透明度浮点数] 浮点数值,范围从0到1,重设阴影的透明度。可选项,默认为 0.25,当颜色的 Alpha 值已给定时该选项无效。

示例

  • <shadow:yellow>你好<shadow:aqua:0.5>世界</shadow>!
  • <shadow:#FF5555>这是一个<shadow:#55FF55>测试!
  • <shadow:#000000FF><b>这这

# 装饰

下一部分的文字装饰

标签

  • <装饰名[:false]> 或者 <!装饰名> 作为翻转装饰开关的别名

参数

  • 装饰名 为任何 Minecraft 支持的装饰
含义 装饰 别名
加粗 bold b
斜体 italic em 或者 i
下划线 underlined u
删除线 strikethrough st
乱码 obfuscated obf

示例

  • <underlined>这是<bold>很重要的</bold>!

# 重置

关闭所有已打开的标签,即作为前面所有起始标签的终止标签作用,重置颜色、装饰等等。重置标签没有终止标签。

在 strict 模式下,重置标签禁止使用。

标签

  • <reset>

参数

  • 无

示例

  • <yellow><bold>你好<reset>世界!

# 点击

copy_to_clipboard 在 Minecraft 1.15 加入

允许在用户点击文本组件执行操作

标签

  • <click:行为:值>

参数

  • 行为 点击事件的类型,可用类型详见这里 (opens new window)
  • 值 特定点击事件类型的参数,请参考 Minecraft Wiki (opens new window)

示例

  • <click:run_command:/send>点击</click>查看世界种子
  • 点击<click:copy_to_clipboard:哈哈你烂透了>这里</click>复制你的分数!

警告

自从 1.19.1 启用了聊天签名以来,客户端不支持执行需要签名参数的命令了,比如 /say 或者 /tell,以免服务器代客户端发送已签名的聊天消息。


# 鼠标悬停

允许在用户的鼠标悬停到文本组件时显示点什么

标签

  • <hover:行为:值>

参数

  • 行为 鼠标悬停事件的类型,可用类型详见这里 (opens new window)
  • 值 特定鼠标悬停事件类型对应的参数,见下表: | 含义 | 行为 | 值 | | 显示文本 | show_text | 文本(一个 MiniMessage 字符串) | | 显示物品 | show_item | 类型[:数量[:标签]](一个物品类型的键,可选设定物品的数量和NBT标签) | | 显示实体 | show_entity | 类型:UUID[:名字](一个实体类型的键ID,还有实体的UUID,可选设定实体自定义名称) |

示例

  • <hover:show_text:'<red>test'>TEST

# 按键绑定

在 Minecraft 1.12 加入

允许显示玩家绑定的相应按键

标签

  • <key:操作类型>

参数

  • 操作类型 按键绑定的ID,比如跳跃

示例

  • 按下 <red><key:key.jump></red> 跳跃!

# 可翻译文本

允许根据玩家使用的语言,显示 Minecraft 国际化消息

标签

  • <lang:键:值1:值2>

别名

  • <tr>, <translate>

参数

  • 键 文本翻译键
  • 值X 可选值,用于变量(它们会加到文本组件中的with标签)

示例

  • 你应该获取一个<lang:block.minecraft.diamond_block>!
  • <lang:commands.drop.success.single:'<red>1':'<blue>Stone'>!

# 插入文字

在 Minecraft 1.8 加入

允许Shift+左键点击文本组件时插入文字到聊天栏输入框

标签

  • <insertion:文字>

参数

  • 文字 要插入的文字

示例

  • Shift点击 <insertion:测试>这里</insertion> 插入文字!

# 彩虹

需要使用十六进制颜色,在 Minecraft 1.16 加入

预设的渐变色文字

标签

  • <rainbow:[!][相位]>

参数

  • 相位 可选
  • ! 让彩虹颜色反向

示例

  • <yellow>Woo: <rainbow>||||||||||||||||||||||||</rainbow>!
  • <yellow>Woo: <rainbow:!>||||||||||||||||||||||||</rainbow>!
  • <yellow>Woo: <rainbow:2>||||||||||||||||||||||||</rainbow>!
  • <yellow>Woo: <rainbow:!2>||||||||||||||||||||||||</rainbow>!

# 渐变

需要使用十六进制颜色,在 Minecraft 1.16 加入

渐变颜色的文字

标签

  • <gradient:[颜色1]:[颜色...]:[相位]>

参数

  • 一个从1到N个颜色的列表,十六进制颜色和颜色名字均可使用,并且有可选的相位参数(范围-1到1)以允许你将渐变到处偏移,方便制作动画

示例

  • <yellow>Woo: <gradient>||||||||||||||||||||||||</gradient>!
  • <yellow>Woo: <gradient:#5e4fa2:#f79459>||||||||||||||||||||||||</gradient>!
  • <yellow>Woo: <gradient:#5e4fa2:#f79459:red>||||||||||||||||||||||||</gradient>!
  • <yellow>Woo: <gradient:green:blue>||||||||||||||||||||||||</gradient>!

# 过渡

需要使用十六进制颜色,在 Minecraft 1.16 加入

从各个颜色中过渡,与渐变类似,只不过横向颜色都是一致的,重点是通过相位来选择颜色。

标签

  • <transition:[颜色1]:[颜色...]:[相位]>

参数

  • 一个从1到N个颜色的列表,十六进制颜色和颜色名字均可使用,并且有可选的相位参数(范围-1到1)以允许你将渐变到处偏移,方便制作动画

示例

  • <transition:#00ff00:#ff0000:0>|||||||||</transition>
  • <transition:white:black:red:[相位]>你好世界 [相位]</transition>(请尝试替换[相位]为0-1的值,都输出一遍就知道用法了)

# 字体

允许你更改文字的字体

标签

  • <font:键>

参数

  • 字体的键,默认命名空间为 minecraft

示例

  • 默认 <font:uniform>Uniform <font:alt>Alt </font> Uniform
  • <font:myfont:custom_font>使用来自材质包的自定义字体

# 换行

插入一个换行符

标签

  • <newline>

别名

  • br

参数

  • 无

示例

  • 让我在这插入 <newline>一个换行符
  • <hover:show_text:'<red>鼠标悬停<newline><green>还带换行符'>文字有<newline>换行

# 选择器

在 Minecraft 1.8 加入,且在 text-minimessage:4.11.0 加入

插入一个选择器组件

标签

  • <selector:选择器[:分隔符]>

别名

  • sel

参数

  • 选择器 要插入的选择器模式
  • 分隔符 (可选)要插入到选择器输出数值之间的内容

示例

  • 你好 <selector:@e[limit=5]>,我是 <selector:@s>!

# 分数

在 Minecraft 1.8 加入,且在 text-minimessage:4.13.0 加入

插入一个记分板分数组件

注意

分数组件需要在服务器上渲染才能让客户端看见,这是平台特有操作。

标签

  • <score:名字:目标>

参数

  • 名字 记分板名字,或者在接收者上下文的一个选择器
  • 目标 目标分数所在记分板的目标名

示例

  • 你已赢得 <score:rymiel:gamesWon/> 场游戏!

# NBT

在 Minecraft 1.14 加入,且在 text-minimessage:4.13.0 加入

插入一个NBT组件。标签的语法旨在让使用原版 Minecraft 的 /data 命令的人熟悉。

注意

已生产的NBT组件需要在服务器上渲染才能让客户端看见,这是平台特有操作。

标签

  • <nbt:block|entity|storage:id:路径[:分隔符][:interpret]>

别名

  • data

参数

  • block|entity|storage 要读取的数据的来源 —— 一个block(方块)实体,一个entity(实体)选择器,或者命令storage(储存)容器
  • id 方块NBT组件的位置,实体选择器NBT组件,或者命令储存NBT组件的键(资源路径)
  • 路径 数据源下的NBT路径
  • 分隔符 数据源有多个返回结果(主要是实体NBT)时,多个数值之间的分隔符号
  • interpret 输入这个,则返回结果会再去解析成 JSON 组件
上次更新: 2025/05/03, 21:58:24
插件定制细则

← 插件定制细则

Theme fork from Vdoing | Copyright © 2018-2025 人间工作P | 到爱发电支持我

除非特别说明,本站点所有文章均以 CC BY-SA 协议授权

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式