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

第138章玩家与JSON的交互事件下

现在,我们知道玩家和json文本的交互方式有按住某个键并点击,或者是直接点击文本。

只不过从广义上来讲,这都是要点击文本。那么有没有什么不用点击文本就可以与文本产生交互事件的元素呢?

有!这就是:hoverevent

hoverevent的作用是当玩家把鼠标指针移到文字上面时产生的事情,而不是点击。

hoverevent和上一章讲的clickevent比较类似,值都是一个对象,由action和value组成。

有了上一章的经验,这两个的作用也就不需要再讲了吧?

action有三种事件:

show_text——显示条平平无奇的json文本

show_item——显示一个物品的悬浮介绍文字

show_entity——显示一个实体

show_text无疑是最简单的,你可以这样:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_text“,“value“:“太棒了!感觉怎么样?“}}

这样子就会输出一串文字:快摸我!

如果你把鼠标放在了上面,你就会发现上面出现了一串文字:太棒了!感觉怎么样?

你也可以这样:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_text“,“value“:{“text“:“太棒了!感觉怎么样?“}}}

或是这样:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_text“,“value“:[{“text“:“太棒了!感觉怎么样?“}]}}

甚至是这样:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_text“,“value“:[{“translate“:“%s“,“with“:[{“translate“:“%s“,“with“:[{“translate“:“%s“,“with“:[{“translate“:“%s“,“with“:[{“text“:“太棒了!感觉怎么样?“}]}]}]}]}]}}

都是可以达到一样的效果的,你也可以添加一些别的元素,比如改变文字颜色什么的。

然后是show_item,这个的作用详细一点说,就是放在文字上面可以显示一个物品的详细信息,就像是你在背包里把光标移到物品上面一样。

show_item的value也是字符串,但是里面还要写一个对象,所以里面的引号前面都要加上转义符号,不理解的可以去上一章看看作者是怎么用指令放置一个带json的告示牌的,那条指令里面的json文本就跟这里的value是差不多的。

ok,那么具体要怎么做呢?

在第一百零八章,我们讲到了物品的通用标签:

“count——物品堆叠的数量

slot——物品所在的栏位(为掉落物时没有这个值)

id——物品id,神奇的是如果你不填,那么生成出来的掉落物就是一块石头

tag——这个接下来就是物品的非必填标签了,比如ench等都在里面。”

在这里,我们也需要用到物品的通用标签,这里我们拿悬浮显示一个“苹果”的悬浮文字举例。

我们需要先把value外边的json先给理清楚:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_item“,“value“:““}}

然后我们就可以研究研究value该怎么写了,首先肯定要加上id,这是必须的:

“value“:“{id:“minecraft:apple“}“

然后你可以试着先执行一下:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_item“,“value“:“{id:“minecraft:apple“}“}}

只不过光标一放上去,就显示了一条红色的文本:

invaliditem

这句话的意思是:无效的物品

既然无效,那么肯定就是我们有必填项没填,可以试着加一下count参数:

“value“:“{id:“minecraft:apple“,count:1}“

然后再试一下:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_item“,“value“:“{id:“minecraft:apple“,count:1}“}}

你就会发现,你成功显示了一个苹果!

只不过显示苹果并没有什么奇特的,因为看起来这就跟普通的显示文本差不多啊?

其实并不一样,因为这个苹果文本和我们之前说过的translate显示出来的翻译文本差不多,你只要改变一下语言,再把光标一放,唉,立马就不一样了!而且还是实时更新,不需要更改语言后再执行一次。

只不过这还不是最特别的,你还可以尝试一下把苹果(apple)改成钻石剑:

{“text“:“快摸我!“,“hoverevent“:{“action“:“show_item“,“value“:“{id:“minecraft:diamond_sword“,count:1}“}}

然后光标再一放:

钻石剑

字体大小
主题切换