
老玩家手把手教你玩出花式文本
为什么会爱上json指令
作为一名玩了多年Java版的老玩家,我至今记得第一次用tellraw命令在聊天栏刷出带颜色的世界公告时,公会频道直接炸锅的场面。原版的say命令人人会用,可输出干巴巴的,前面还挂着发送者的名字。json指令是另一个层次的东西,它能控制文字的颜色和粗细,能让文字悬浮出提示框,甚至让玩家点一下文字就执行命令。可以说,掌握了json,你的命令方块才算真正有了灵魂。
什么是json的骨架
先别被这四个英文字母吓到。json本质上是一种数据格式,在我的世界里专门用来描述文本长什么样。它的骨架很简单,一对花括号包住所有内容,里面写着一组一组的键值对,键在前,值在后,中间用冒号隔开,键和值都要用双引号包起来,多组之间用逗号分开。把这套结构跟在tellraw或者title命令后面,游戏就会照着你的描述渲染文字。记住一句口诀,双引号成对,冒号居中,逗号分隔,花括号收尾。
从tellraw开始动手
打开聊天栏或者命令方块,输入tellraw,接上目标选择器,想让全服都看见就选全体玩家那个写法,也就是艾特符号加字母a,然后空一格,打出一对花括号。花括号里先写"text",紧跟冒号,冒号后面写你想说的话,同样用双引号包住。执行之后,聊天栏会出现一条没有发送者名字的纯净消息,这就是你的第一条json作品。新手先把这一条练熟,理解了键值对,后面的花样全是往里加料。
给文字穿上花衣服
只会显示白字不过瘾。在"text"那组键值对后面打个逗号,接着写"color",冒号,值填"red",执行,消息立刻变红。想加粗就补一组"bold",值填"true"。想要下划线和斜体,就分别加上"underlined"和"italic"。这些属性可以同时叠加,但逗号一个都不能少。当年我踩过最多的坑就是全角标点,句末逗号和漏引号,这三大杀手专治手快,报错一看就懂,查起来却最要命。
悬停与点击才是精髓
真正让json封神的是两个事件。"hoverEvent"能让玩家把鼠标放到文字上时弹出提示框。"clickEvent"更狠,用open加下划线加url可以让文字变成一条链接,用run加下划线加command则能让玩家点一下文字就触发一条命令。传送菜单,商店按钮,答题互动,全靠这一手。我在服务器里做过的排行榜,点名字就能发起私聊,用的正是这对组合。
title命令的仪式感
聊天栏面积有限,想搞出开场动画般的气势,就把json交给title命令。title加目标选择器,再加一个title子命令,最后跟上你的json文本,屏幕中央立刻浮现大字。再用times子命令调整淡入淡出的时长,配上音乐,赛季开幕,村庄告别,氛围直接拉满。
版本差异要留心
不同版本的写法有差异,新版本对文本组件做过调整,基岩版更是用另一套叫rawtext的结构,键名完全不同。网上抄代码之前,先确认自己和攻略作者玩的是不是同一个版本,这是老玩家用血泪换来的忠告。
老玩家的调试心得
见过太多人在报错面前直接放弃,这里分享几条保命经验。所有符号必须用英文半角,中文的逗号引号括号会让命令当场失效。引号必须成对出现,嵌套文本时先在记事本里写好,数清层数再粘贴。命令方块执行前先在聊天栏测试,报错会告诉你哪一段出了问题,从头逐段删减,很快就能定位。
现在就动手吧
学json没有捷径,我的办法是建一个测试存档,专门摆命令方块,每学一个写法就进去跑一遍,跑通的模板存进命令方块库,要用时改几个字就能上线。当你第一次做出能点击的传送菜单,看着服务器萌新连点几下就站到副本门口,那种成就感比打赢末影龙还爽。现在就打开游戏,敲下你的第一条tellraw!
相关文章