Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

JSON文本是指在Minecraft使用JSON来表示一段有格式的文本,它实际上是一段JSON,游戏会将其解释为具体的文字与格式。本文章将介绍JSON文本的格式以及在命令中的用法,因此读者需要对JSON有一定的了解,参见命令#JSON文本教程/NBT与JSON。本文章假定读者已经了解并且会写JSON,因此本教程不讲述JSON的语法以及基础术语的含义。在形式上,一个JSON文本可以是几乎任何数据类型,但一般我们使用字符串、组合和列表。

用途

Sign json

告示牌就是使用了JSON文本的。图中是1.14新增的白桦木告示牌,文字的颜色是通过命令设置的。

Minecraft的几乎各处都使用了JSON文本。比如,你在告示牌书与笔中书写的内容,一般都是纯文本,但它实际上也是JSON文本,对其数据稍加修改就可以实现文字的格式(和样式代码有一定的相似性)。给物品或者实体命名,实际上也是JSON文本,通过命令即可使物品或实体的名字是带有格式的。

进度的名称和描述也是使用了JSON文本。修改你的游戏语言,进度的名称和描述也随之改变,这就是由于它是由JSON文本定义的。通过修改JSON文本,我们也可以让告示牌、物品或实体的名称、书的内容也能够随游戏语言而变化。

可见,JSON文本在游戏内非常普遍。要用命令修改实体的名称、告示牌或书的内容,或者设置记分板项或boss栏的名称,必须要有一点JSON文本的知识。

简单的实例

纯文本

这是一个简单的JSON文本:

"欢迎加入Minecraft"

它就是单个的一个字符串

一个JSON文本可以是一个对象

{
  "text": "欢迎加入Minecraft"
}

上面两个实例的效果都是如下:

欢迎加入Minecraft

一般地,当你在告示牌输入文字,或者给物品、实体命名,这些文字一般都是纯文本,它们都是如上这几种格式。

File:Nameed Johnny.png

所有的卫道士都命名为了Johnny,它们将四处杀戮。

Minecraft内,所有被命名为Johnny的卫道士都会变成“杀人狂魔”。你可以通过铁砧命名牌命名为Johnny,然后再用命名牌给卫道士命名;或者,在创造模式,你也可以通过铁砧卫道士刷怪蛋命名为Johnny,它生成的所有卫道士都是被命名为Johnny的。如果需要将所有的卫道士命名为Johnny,可以使用如下命令/execute as @e[type=vindicator] run data merge entity @s {CustomName:"\"Johnny\""}。关于如何通过命令来修改JSON文本,我们在后面会有详细的介绍。

文字的颜色

File:Tellraw text.png

使用/tellraw命令显示此JSON文本的效果。

你可以通过一个对象对一段文字渲染格式。在这个对象中,"text"的值为文字的内容,而"color"的值为颜色名称。比如下面的实例会将“欢迎加入Minecraft”渲染为深红色:

{
  "text": "欢迎加入Minecraft",
  "color": "dark_red"
}

效果:

欢迎加入Minecraft

你可以通过/tellraw命令来展示这段红色的文字:

/tellraw @a {"text":"欢迎加入Minecraft","color":"dark_red"}

可用的颜色名称

下表摘录于样式代码#颜色代码。在JSON文本中,作为"color"的值的颜色名称是下表中的“技术性名称”。前景色就是文字显示的颜色,背景色则是文字阴影的颜色(一般只有在聊天框内或者显示为标题内容时才会显示文字阴影)。表中的R、G、B和十二进制表示法,如果看不懂的话可以不用了解。

File:Tellraw text part.png

上面那个图片截取的部分。观察此文字的前景色背景色

样式代码 颜色中文名 技术性名称 前景色 背景色
R G B 十二进制表示法 R G B 十二进制表示法
§0 黑色 black 0 0 0 000000 0 0 0 000000
§1 深蓝色 dark_blue 0 0 170 0000AA 0 0 42 00002A
§2 深绿色 dark_green 0 170 0 00AA00 0 42 0 002A00
§3 湖蓝色 dark_aqua 0 170 170 00AAAA 0 42 42 002A2A
§4 深红色 dark_red 170 0 0 AA0000 42 0 0 2A0000
§5 紫色 dark_purple 170 0 170 AA00AA 42 0 42 2A002A
§6 金色 gold 255 170 0 FFAA00 42 42 0 2A2A00
§7 灰色 gray 170 170 170 AAAAAA 42 42 42 2A2A2A
§8 深灰色 dark_gray 85 85 85 555555 21 21 21 151515
§9 蓝色 blue 85 85 255 5555FF 21 21 63 15153F
§a 绿色 green 85 255 85 55FF55 21 63 21 153F15
§b 天蓝色 aqua 85 255 255 55FFFF 21 63 63 153F3F
§c 红色 red 255 85 85 FF5555 63 21 21 3F1515
§d 粉红色 light_purple 255 85 255 FF55FF 63 21 63 3F153F
§e 黄色 yellow 255 255 85 FFFF55 63 63 21 3F3F15
§f 白色 white 255 255 255 FFFFFF 63 63 63 3F3F3F

列表:不同的文字不同的格式

列表,来实现对不同的文字渲染不同的颜色,比如:

[
  {
    "text": "欢迎你加入",
    "color": "dark_red"
  },
  {
    "text": "Minecraft",
    "color": "blue"
  }
]

效果:

欢迎加入Minecraft

(本教程未写完,后续会继续完善)

Advertisement