看,这是一段JSON文本输出的文字。
只不过这段文字就是一段文字,你无法操控它,或者是它操控你(???)。
如果你真的可以点击这段文字并产生一些作用,比如打开了一个新的网站,你点击文字的做法,就叫做你与文本的“交互事件”。
在JSON文本中,专门管理玩家与JSON文本的交互事件元素统称为“交互事件”。
下面,我们就来研究研究,这些交互事件元素,到底该怎么用。
第一个:insertion。
第一个也就是最简单的一个。insertion的作用就是当玩家按住Shift并点击insertion所在对象显示的文字时,游戏就会自动将insertion的值填入聊天框中,且并不会覆盖已在聊天框输入的文字,比如:
{“text“:“按住Shift点击有惊喜“,“insertion“:“惊喜!“}
运行之后你就会发现输出了:
按住Shift点击有惊喜
这样一段普普通通的消息。但如果你点击T键打开消息界面,并按住Shift点击文字,你就会发现聊天栏自动输入了:“惊喜!”二字。
这就是insertion的用法,是不是特别简单?
只不过该元素只有出现在聊天栏时,比如使用tellraw执行才有意义,你直接写在告示牌或者是书里是没有任何用处的。
然后第二个:clickEvent
clickEvent元素的作用就是当玩家点击文字(注意没有按Shift,是直接点击的那种)所产生的事情。所以clickEvent从该层面上来讲就和超链接很类似了(自信点,把“类似”去掉)。
既然是超链接,这让你想到了什么?
首当其冲的肯定就是打开网址,没错,clickEvent确实可以实现。
然后呢?然后我们就不要再联想了,直接看看clickEvent到底该怎么用吧。
clickEvent元素的值是一个对象,即:
{“clickEvent“:{}}
在clickEvent值里面有两个参数:
action和value。
这两个参数都是必须填的,其中action为设置点击后会产生什么样的事情,value就是点击产生的事情所需要的值。
action有六种事件:
open_url——使用系统默认浏览器打开value的网址
open_file——打开位于value路径的文件
run_mand——运行value中的指令
suggest_mand——打开聊天栏并输入value里的值,会覆盖原本输入的消息
change_page——翻页到value页
copy_to_clipboard——将value里的值复制到粘贴板
open_url是最常用的事件,当玩家点击的时候游戏会跳出一个界面:
你确定你要打开以下网页?
然后下面还有一行粉红色的字:
永远不要打开从你不信任的人得到的链接!
接着就是三个选项:是、复制到剪贴板、否