(这是一章基岩版专属章节)
Java版在输入显示消息的时候需要使用JSON文本。那么基岩版呢?
基岩版虽然大部分时候不需要用到JSON文本,但是基岩版也有JSON文本。
但是和Java版不一样。
首先,这个JSON文本,可以用于:
告示牌、指令以及书上。但是目前它只有在指令方面有较大的用处。
还记得/tellraw和/titleraw吗?它们所用的就是JSON文本。
它们的格式和原本的格式差不多,只不过文本变成JSON文本输入方式。
但是,只有/tellraw和JSON文本结合才可以发挥JSON文本的最大作用!
首先,上基本格式:
{“rawtext“:[{“text“:“<文本>“}]}
这就是基本格式了。当然,你也可以使用§来设颜色。
记住了吗?
其中,raw在这里就是JSON的单词。所以,不难理解:
——最开始的“rawtext”是先设定这里是JSON文本
——text是设定显示的文本
所以,text就是“文本”的意思。这就是为什么文本文件的后缀是.txt了。
好像扯得有些远了.jpg
这是基本格式。但是,为何说它与/tellraw互相结合就牛逼上天呢?
等等,先上介绍。
/tellraw
作用:发送一条JSON文本。
使用权限下限:管理员(OP)
是否可使用命令方块执行:是
格式:
/tellraw <目标选择器><JSON文本>
现在,请试运行以下指令:
/tellraw @a {“tellraw“:[{“text“:“<作者>武汉加油!“}]}
在哪里运行都没关系,裹个几十层/execute也可以。
运行完后,你是否发现,一个名叫作者的人发了一条消息:武汉加油!
但是,除了这以外啥也没有了。
而且你还是单人模式,除了Minecraft中有鬼这个解释之外,就只有这条指令了。
看看这条指令的文本:
<作者>武汉加油!
是不是一模一样?没错,/tellraw使用后不会有任何的附加信息(当然你命令方块的消息除外),没有中间商加文本,一条线过来。
所以,使用它,可以造出千奇百怪的消息。
比如:
作者在岩浆里游泳
作者失败了
作者被作者击败了
然后再配上各种颜色,可以好好去看(keng)你的朋友了。
这就是为什么/tellraw如此强大的原因:无中间商加文本。
这是非常好的指令,妈妈以后再也不用愁我的命令方块商店的提示带一大堆文字了。
但,JSON的基岩版,就到此结束了?不,还有!
你还可以:
{“tellraw“:[{“text“:“<作者>“,“text“:“武汉加油!“}]}
这样子拆开来也可以。
你以为就到此结束了?不,还有!
JSON里还有一个东西:translate,它允许使用它的人使用其他语言。如果其和text一起存在,将会覆盖text。translate提供的内容是语言文件的名称,也就是可以显示特定的语言。
什么是特定的语言呢?比如:
作者***XX 击败了
这就是特定的语言。
怎么使用呢?需要输入特定的语言文件名称,比如:
commands.op.success(当玩家成功获得管理权限时,说:
已将XXX设为管理员)
但是,放进去后,将会变成:
已将%s设为管理员
为何?因为我们还没有设定。我们还需要with来设定。
但是,使用它,输入的文本还要再套一个括号(其实也没多少麻烦):
{“tellraw“:[{“translate“:“commands.op.success“,“with“:[“管理员“]}]}
这样子,文本将会变成:
已将管理员设为管理员
也可以使用自定义,自定文本。但是如果这样的话,就得用到%%s来取出名字,比如:
{“tellraw“:[{“translate“:“%%s 被自己烧死了“,“with“:[“作业“]}]}
这样子,将会得出:
作业被自己烧死了
如果要多个显示,可以以排列的顺序。比如第一个%%s对应第一个名称(当然是按从左到右数):
{“tellraw“:[{“translate“:“%%s 被%%s撕了“,“with“:[“作业“,“学渣“]}]}
这样子,得出来的消息变成:
作业被学渣撕了
如果不小心写错了顺序,没事,还可以使用%%<数字>来指定第几个。比如:
{“tellraw“:[{“translate“:“%%2布置了%%1“,“with“:[“作业“,“老师“]}]}
这样子,得出来的消息是:
老师布置了作业
(若有所思......)
你以为这就结束了?不,还有!
你还可以text中使用:\n来换行(程序猿的笑声)。
你以为这就结束了?对,真的结束了。
基岩版的JSON文本就这么多了。但是,Java版的JSON文本......
恐怖至极啊!