第137章玩家与JSON的交互事件上 - Minecraft指令手册 - 你好MC - 游戏竞技小说 - 30读书

第137章玩家与JSON的交互事件上

看,这是一段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_command——运行value中的指令

est_command——打开聊天栏并输入value里的值,会覆盖原本输入的消息

change_page——翻页到value页

copy_to_clipboard——将value里的值复制到粘贴板

open_url是最常用的事件,当玩家点击的时候游戏会跳出一个界面:

你确定你要打开以下网页?

然后下面还有一行粉红色的字:

永远不要打开从你不信任的人得到的链接!

接着就是三个选项:是、复制到剪贴板、否

如果选是,那么游戏将会使用默认浏览器打开;如果选复制到剪贴板,将会真的复制到你的剪贴板,只不过网页需要你自己打开浏览器复制进去;如果选否,那么恭喜你,啥也不会发生,只不过界面被关掉了而已。

那么如果我们要点击的时候打开百度搜索首页该怎么办?

很简单:

{“text“:“百度搜索“,“clickevent“:{“action“:“open_url“,“value“:“

运行,点击一下“百度搜索”再点击“是”你就发现你打开了百度。

等等,这样子做的话,那么我们是不是可以在服务器里做出一个网址大全?

嗯,一个很不错的想法,可惜你的想法早在1999年就被李兴平想到了,只不过鉴于你是在服务器里做的网址大全.......或许会因为其特殊性吸引更多的用户?

然后是第二个:open_file

open_file和open_url类似,只不过open_url是打开网上的网址,而open_file是打开本地的文件,比如:

{“text“:“你猜猜这有什么用“,“clickevent“:{“action“:“open_file“,“value“:“c:“}}

点击就可以打开c盘.......?为什么不能打开?

为什么呢?

我们找到minecraftwiki,会发现上面说了一句话:“

且出于安全原因禁止玩家使用。”

原来如此!mojang竟然考虑得如此周到!不愧是mojang!

字体大小
主题切换