颜色与格式
看板文字支持三套写法,可以混在同一行:
| 写法 | 例子 | 需要 |
|---|---|---|
& 颜色代码 | &a绿色 &l粗体 | 所有版本 |
| 十六进制颜色 | &#FF66AA粉红、<#FF66AA>粉红 | 1.16+(更旧的版本会换成最接近的 16 色) |
| 渐变与彩虹 | <#FF0000>渐变</#0000FF>、<RAINBOW1>彩虹</RAINBOW> | 1.16+ |
| MiniMessage 标签 | <gradient:#78EFFF:#CB9CFF><bold>标题</bold></gradient> | Paper / Purpur 1.18.2+ |
开服时控制台会写出目前的模式:「支持 MiniMessage」或「使用颜色代码模式(服务器没有 MiniMessage)」。

上图由上到下:& 颜色代码(粗体 / 斜体 / 底线)、&#RRGGBB 十六进制、DecentHolograms 渐变、<RAINBOW50> 彩虹、MiniMessage 三色渐变、MiniMessage 彩虹与装饰。
Spigot、1.18.1 以下的 Paper 没有 MiniMessage:& 颜色、十六进制、渐变、彩虹照常可用;MiniMessage 标签(<gold>、<gradient:...>、<font:...>)不会生效,会原样显示或变成乱码。
& 颜色代码
最传统的写法,每个版本都能用。& 后面接一个字母或数字,从这里开始改变后面文字的颜色或格式。
颜色
| 代码 | 颜色 | 十六进制 | MiniMessage 名称 |
|---|---|---|---|
&0 | 黑色 | #000000 | black |
&1 | 深蓝 | #0000AA | dark_blue |
&2 | 深绿 | #00AA00 | dark_green |
&3 | 深青 | #00AAAA | dark_aqua |
&4 | 深红 | #AA0000 | dark_red |
&5 | 深紫 | #AA00AA | dark_purple |
&6 | 金色 | #FFAA00 | gold |
&7 | 灰色 | #AAAAAA | gray |
&8 | 深灰 | #555555 | dark_gray |
&9 | 蓝色 | #5555FF | blue |
&a | 绿色 | #55FF55 | green |
&b | 青色(天蓝) | #55FFFF | aqua |
&c | 红色 | #FF5555 | red |
&d | 粉红(淡紫) | #FF55FF | light_purple |
&e | 黄色 | #FFFF55 | yellow |
&f | 白色 | #FFFFFF | white |
格式
| 代码 | 效果 | MiniMessage |
|---|---|---|
&l | 粗体 | <bold> |
&o | 斜体 | <italic> |
&n | 底线 | <underlined> |
&m | 删除线 | <strikethrough> |
&k | 乱码(不停跳动的字) | <obfuscated> |
&r | 清除前面所有颜色与格式 | <reset> |
颜色代码会清除前面的格式。&l&a文字 不是粗体,要写 &a&l文字。
§ 也能代替 &,效果相同。
十六进制颜色
1.16 以上可以用任何颜色。以下写法效果完全一样(RRGGBB 是六位十六进制):
| 写法 | 例子 | 说明 |
|---|---|---|
&#RRGGBB | &#FF66AA粉红 | 最常用 |
<#RRGGBB> | <#FF66AA>粉红 | 也是 MiniMessage 的写法 |
{#RRGGBB} | {#FF66AA}粉红 | |
#RRGGBB | #FF66AA粉红 | 前面什么都不加也算 |
&x&R&R&G&G&B&B | &x&F&F&6&6&A&A粉红 | Spigot 原生写法 |
# 加六个字母数字会被吃掉因为 #RRGGBB 不加前缀也算颜色,订单 #A1B2C3 这种文字会被当成颜色代码而消失。
要显示这类文字,在 # 后面插入一个颜色代码隔开,例如 #&fA1B2C3。
1.15 以下的服务器不支持任意颜色,十六进制会自动换成 16 色里最接近的那一个。
渐变与彩虹(DecentHolograms 写法)
渐变
<#起始颜色>文字</#结束颜色>
| 例子 | 效果 |
|---|---|
<#FF0000>红到蓝的渐变</#0000FF> | 每个字的颜色从红色慢慢变成蓝色 |
{#FFAA00}金色渐变{/#FFFF55} | 用大括号也可以 |
<#78EFFF>&l粗体渐变</#CB9CFF> | 里面的 &l &o &n &m &k 会套用到每个字 |
- 只能两个颜色。想要三个以上,请用 MiniMessage 的
<gradient>。 - 支持 MiniMessage 的服务器上,这个写法会自动转成 MiniMessage 的渐变,效果更平滑。
彩虹
<RAINBOW1>彩虹文字</RAINBOW>
MiniMessage 标签
Paper / Purpur 1.18.2 以上可以用 MiniMessage 标签。标签写成 <名称>,用 </名称> 结束(可以不结束,效果持续到行尾)。
适合用在看板上的标签
| 标签 | 效果 | 例子 |
|---|---|---|
<颜色名> | 16 种基本颜色,名称见 上方表格 | <gold>金色</gold> |
<#RRGGBB>、<color:#RRGGBB> | 任意颜色 | <#F6A95B>橘色 |
<bold> / <b> | 粗体 | <b>粗体</b> |
<italic> / <i> / <em> | 斜体 | <i>斜体</i> |
<underlined> / <u> | 底线 | <u>底线</u> |
<strikethrough> / <st> | 删除线 | <st>原价</st> |
<obfuscated> / <obf> | 乱码 | <obf>???</obf> |
<!bold> 等 | 在 ! 后接格式名称,关闭该格式 | <bold>粗<!bold>不粗 |
<reset> | 清除前面所有颜色与格式 | <red>红<reset>白 |
<gradient:颜色1:颜色2:...> | 渐变,颜色数量不限,可以用颜色名或 #RRGGBB | <gradient:#78EFFF:#CB9CFF:#FFB3E6>三色渐变</gradient> |
<rainbow> | 彩虹;<rainbow:!> 反向,<rainbow:2> 位移相位 | <rainbow>彩虹</rainbow> |
<transition:颜色1:颜色2:进度> | 取两个颜色之间的某一个颜色(进度 0~1) | <transition:red:blue:0.5>紫色</transition> |
<font:命名空间:字体> | 换字体,见 资源包字体 | <font:minecraft:uniform>文字</font> |
<lang:翻译键> | 显示游戏内翻译,每个玩家看到自己的语言 | <lang:block.minecraft.diamond_block> |
<key:按键名> | 显示玩家自己设定的按键 | 按 <key:key.jump> 跳跃 |
<shadow:颜色> | 自订文字阴影颜色(较新的 Paper 1.21.4+) | <shadow:#FF0000>红影</shadow> |
不适合看板的标签:<click>、<hover>、<insert> 在看板上没有作用(看板的点击请用 点击动作);
<newline> 的效果因显示方式而不同,想要多行请直接加多行。
混用规则
三套写法可以放在同一行,插件的处理顺序是:
- 把 DecentHolograms 的渐变
<#A>文字</#B>换成 MiniMessage 的<gradient:#A:#B>(只在支持 MiniMessage 时)。 - 暂时把所有 MiniMessage 标签藏起来(
<RAINBOW数字>除外)。 - 处理
&颜色、十六进制、{#A}...{/#B}渐变、<RAINBOW1>彩虹。 - 把标签放回去,再把
&/§颜色换成对应的 MiniMessage 颜色标签,整行交给 MiniMessage。
所以:
| 写法 | 结果 |
|---|---|
<gold>金色 &a绿色 | 「金色」金色,「绿色」绿色 |
<bold>&a文字 | 不是粗体:&a 这种旧颜色会清除前面的格式 |
&a<bold>文字 | 绿色粗体 |
<gold>金 色 <bold>粗体 | 金色粗体:MiniMessage 的颜色标签不会清除格式 |
<gradient:#78EFFF:#CB9CFF>&l标题</gradient> | 渐变粗体 |
建议:一行里尽量只用一种写法。新服务器用 MiniMessage;要兼容 Spigot 就用 & 与 &#RRGGBB。
PlaceholderAPI 变量回传的颜色代码(&a、§a、&#RRGGBB)也会正常上色,因为变量先替换、颜色后处理。
资源包字体
<font:命名空间:字体名>文字</font> 可以换字体(需要 MiniMessage)。
原版就有的字体:
| 字体 | 效果 |
|---|---|
minecraft:default | 平常的字体 |
minecraft:uniform | Unicode 字体(较细、较小,行距比较大) |
minecraft:alt | 附魔台上的「银河字母」 |
minecraft:illageralt | 灾厄村民旗帜上的符号 |
用资源包放自己的图示
-
在资源包里加入字体文件
assets/myserver/font/icons.json:{"providers": [{"type": "bitmap","file": "myserver:font/coin.png","ascent": 8,"height": 9,"chars": [""]}]} -
图片放在
assets/myserver/textures/font/coin.png。 -
看板里写:
lines:- "<font:myserver:icons></font> <yellow>金币商店</yellow>"
- YAML 的双引号字串才认得
这种跳脱写法;用单引号时请直接贴上那个字元。 - 玩家必须载入资源包才看得到,没载入会显示方框。
- 如果服务器没有 MiniMessage(Spigot),可以把图示加进
minecraft:default字体(文件路径assets/minecraft/font/default.json),文字里直接放那个字元就行,不需要<font>标签。
自定义替换
config.yml 的 custom-replacements 可以把短代码换成特殊符号,适合做进度条:
| 代码 | 换成 | 代码 | 换成 |
|---|---|---|---|
[x]、[X] | █ | [,,,] | ▓ |
[/] | ▌ | [p]、[P] | • |
[,] | ░ | [|] | ⎹ |
[,,] | ▒ |
# config.yml
custom-replacements:
'[x]': '█'
'[heart]': '❤' # 自己加的
- 只对文字行有效。修改后
/clh reload。 - 替换是在载入时直接改掉这一行的文字,之后用指令修改这个看板时,文件里会存成替换后的符号(不影响显示)。
- 代码不要互相包含(例如同时有
[a]与[ab]),替换顺序不固定。 - YAML 的键以
[开头,一定要加引号。
YAML 引号规则
看板文件是 YAML。每一行文字都用单引号包起来,就不会出错。
| 写法 | 结果 | 原因 |
|---|---|---|
- &a欢迎 | 载入失败 | & 开头在 YAML 是「锚点」 |
- #ICON: STONE | 整行不见 | # 开头是注解 |
- {#FF0000}红色 | 载入失败 | { 开头是 YAML 的对照表 |
- [x][x] 进度 | 载入失败 | [ 开头是 YAML 的列表 |
- %player_name% | 载入失败 | % 开头是 YAML 保留字元 |
- *星星* | 载入失败 | * 开头是 YAML 的别名 |
- 等级: 10 | 变成对照表 | 中间有「冒号+空格」 |
- 编号 #1 | 只剩「编号」 | 「空格+#」后面会被当成注解 |
- 'It's' | 载入失败 | 单引号里的 ' 要写两个:'It''s' |
正确写法
lines:
- '&a欢迎'
- '#ICON: STONE'
- '{#FF0000}红色'
- '[x][x] 进度'
- '%player_name%'
- '等级: 10'
- '编号 #1'
- 'It''s me'
- "<font:myserver:icons></font>" # 需要 \u 跳脱时才用双引号
- 双引号里的
\是跳脱字元,\n、\u会被转换;不需要时用单引号比较安全。 - 改完文件用
/clh validate检查格式,再/clh reload。
版本需求总表
| 功能 | 需要 |
|---|---|
& 颜色与格式 | 所有版本 |
十六进制、渐变、<RAINBOW1> | 1.16+(更旧的换成最接近的 16 色) |
MiniMessage 标签、<font> | Paper / Purpur 1.18.2+ |
<shadow> 文字阴影颜色 | 较新的 Paper(1.21.4+) |
| 文字背景、文字阴影开关 | 1.19.4+(见 背景与阴影) |