原始文本¶
原始文本(Raw Text)是Minecraft基岩版中用于构建结构化文本内容的JSON格式,也称为JSON文本。原始文本允许在文本中嵌入翻译键、分数值、选择器结果等动态内容,并支持文本的组合拼接。
概述¶
在基岩版中,许多需要显示文本的场景都支持原始文本格式,包括/tellraw命令、/titleraw命令、物品的自定义名称(通过/give命令)、告示牌文本等。原始文本通过JSON对象定义,引擎在显示时将其解析为最终的文本字符串。
格式¶
原始文本的根结构为一个包含rawtext数组的对象。rawtext数组中的每个元素按顺序拼接为最终文本:
上述示例的显示结果为“你好世界”。
文本元素类型¶
rawtext数组中的每个元素可以是以下类型之一:
纯文本¶
通过text字段直接指定文本内容:
翻译文本¶
通过translate字段指定翻译键,引擎会在当前语言的语言文件中查找对应的翻译值:
翻译文本可以通过with数组传入参数,替换翻译值中的%s或%1、%2等占位符:
with数组中的元素也可以是原始文本对象,实现嵌套:
分数¶
通过score字段显示记分板中的分数值:
name字段支持使用目标选择器(如*表示文本的阅读者自身)。
选择器¶
通过selector字段显示目标选择器的结果(即匹配的实体名称):
当多个实体匹配时,名称之间以逗号分隔。
转义字符¶
原始文本中的文本内容支持以下转义序列:
| 转义序列 | 含义 |
|---|---|
\n | 换行 |
\\ | 反斜杠 |
\" | 双引号 |
\uXXXX | Unicode字符 |
格式化代码¶
文本内容中可以使用§(分节符)后跟格式化代码来控制文本的颜色和样式。例如,§a表示绿色文本,§l表示加粗。格式化代码在§r(重置)之前持续生效。