本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

基岩版原始JSON文本格式

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为基岩版独有。


原始JSON文本是一种对显示的文本添加修改的方法——其可以是颜色、点击时执行命令甚至是根据用户的区域设置显示其地区的文本。

基岩版,原始JSON文本可以作用于/tellraw的内容、/titleraw的标题、书与笔的文本(题目和作者除外)以及告示牌的文本。

原始文本格式[编辑 | 编辑源代码]

基岩版的原始文本格式是一个支持以下元素(大部分可选)的JSON对象。


  • 基础聊天对象

    •  text:在文本中直接出现的原始文本的字符串。值得注意的是,诸如“@a”、“@p”的选择器不会被转换。\n用于换行(↵ Enter)。如果文本中有translate,则text的内容则不会被显示。

    •  translate: 使用玩家所选择的语言显示的翻译识别符。此识别符与在assets文件或材质包的lang文件中所发现的识别符相同。

    •  with: translate使用的聊天成分参数和/或字符串参数的列表。
      • 此参数是与当前语言中使用的参数按顺序所对应的文本(例如,列表中的第一个元素对应于translate中的“%%1”)

基础原始文本示例:

/tellraw @a { "rawtext" : [ { "text" : "Hello world" } ] }

这将向所有玩家发送一条消息,说“Hello world”。然而,这是对于英语而言的,请参阅基岩版原始JSON文本格式#Translate操作以知道如何使用语言的本地化。

追加用法[编辑 | 编辑源代码]

原始文本接受一批文本对象。列表中的每一个对象都会添加到之前的对象中,例如:

/tellraw @a { "rawtext" : [ { "text" : "Hello" }, { "text" : "World" } ] }

用于组合两种不同语言的文本或给每个字符加上不同的颜色等。

Translate[编辑 | 编辑源代码]

translate允许使用者使用其他语言。如果其和text一起存在,其会覆盖texttranslate提供的字符串是语言文件中字符串的名称。例如,原版Minecraft中,“commands.op.success”是当玩家使用/op成功时显示的字符串。

/tellraw @a { "rawtext" : [ { "translate" : "commands.op.success" } ] }

这将向所有玩家显示“已将 %s 设为管理员”。请注意,由于在指定了translate的情况下忽略了text,下面的示例将输出相同的文本:

/tellraw @a { "rawtext" : [ { "text":"Hello World", "translate":"commands.op.success" } ] }

With[编辑 | 编辑源代码]

在上面的translate示例中,反馈消息为“已将 %s 设为管理员”。如果要显示名称或其他文本而不是%s,还需要指定“with”。值得注意的是,“with”只与“translate”一起使用,并且还需要使用[] 而不是{}。例如:

/tellraw @a { "rawtext" : [ { "translate" : "commands.op.success", "with" : [ "Steve" ] } ] }

将向所有玩家显示“已将 Steve 设为管理员”。

%%s[编辑 | 编辑源代码]

可以在“translate”中直接使用“%%s”,而不需要使用本地文件中相应的字符串。例如:

/tellraw @a { "rawtext": [ { "translate" : "Hello %%s", "with": [ "Steve" ] } ] }

这将向所有玩家显示“Hello Steve”。

多个%%s[编辑 | 编辑源代码]

%%s可多次使用,其将会按照“with”中的顺序填写。若%%s的个数多与“with”中的个数,多出的部分显示为空。

/tellraw @a { "rawtext": [ { "translate" : "Hello %%s and %%s", "with": [ "Steve", "Alex" ] } ] }

这将向所有玩家显示“Hello Steve and Alex”。

使用%%#更改顺序[编辑 | 编辑源代码]

%%s的顺序可以更改,方法是使用%%#,并替换#为其在“with”中的排列数字。若“with”中没有指定此位置,则显示为空。例如,要在上面的示例中交换Steve和Alex的位置,输入命令:

/tellraw @a { "rawtext" : [ {"translate" : "Hello %%2 and %%1", "with": [ "Steve", "Alex"] } ] }

这将向所有玩家显示“Hello Alex and Steve”。