Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看都拜师女主?那我只好独享女魔帝 神印王座 全家偷听我心声杀疯了,我负责吃奶 李家村职业修仙学院 玄幻:无双皇子,征战诸天! 狱卒:简化融合万法,我为长生仙 万古神帝张若尘最新章节列表 我的弟子全是大帝之资 至高仙族,从老祖宗游戏启动开始 哥布林:我的子嗣遍布世界 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第一百二十六章 玩家与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\\“}“}}

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

Invalid Item

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

既然无效,那么肯定就是我们有必填项没填,可以试着加一下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}“}}

然后光标再一放:

钻石剑

在主手时:

1.6攻击速度

7攻击伤害

是不是一模一样?

那么这有什么用处呢?

如果你平常仔细观察,你就会发现如果我们使用\/give指令:

\/give @s diamond_sword

这样子获得一个钻石剑,把光标放在提示消息上,也会出现一样的效果。

最后一个:show_entity

show_entity这个和show_item差不多,value值也是字符串,仍然需要转义,只不过从物品变成了实体而已:

{“text“:“快摸我!“,“hoverEvent“:{“action“:“show_entity“,“value“:“{}“}}

那么对象里面该填啥呢?可以填实体的name(名字)、type(种类)、tag(Nbt标签)和id(UUId)。

这三个属性可以方便我们“伪造”出一个虚拟的实体,比如我们最基础的可以伪造一名叫做“人”的玩家:

{“text“:“快摸我!“,“hoverEvent“:{“action“:“show_entity“,.“value“:“{name:\\“人\\“,type:\\“minecraft:player\\“}“}}

但是当你把光标放在上面之后,你就会发现:“唉,咋啥都没有呢?”

别慌,我们可以再填一个id:

{“text“:“快摸我!“,“hoverEvent“:{“action“:“show_entity“,“value“:“{name:\\“人\\“,type:\\“minecraft:player\\“,id:\\“b5bef018-4307-48c8-894c-391f7bc3d8db\\“}“}}

运行之后,唉还是没有出现。

这到底是怎么回事?

额,这个作者也不知道,但估计是版本的问题,于是作者换了一个版本(1.13.2到1.12.2):

\/tellraw @a {“text“:“快摸我!“,“hoverEvent“:{“action“:“show_entity“,“value“:“{name:\\“人\\“,type:\\“minecraft:player\\“,id:\\“b5bef018-4307-48c8-894c-391f7bc3d8db\\“}“}}

结果还是不行。

那么或许我们可以换一种思路——使用真实存在的玩家行不行?

为此作者又测试了一下,还是不行。

那就算了吧,可能是特性,毕竟如果错了,起码应该还有一个Invalid Entity的提示信息,啥也不显示估计是真的游戏bug了。

那么这就代表着本章结束了吗?

不,还没有!

minecraft 1.16更新,mojang不用了value(我们还可以用,是支持的),转而使用了contents参数。contents参数和value类似,但有些地方有稍稍改进,比如show_item和show_entity就再也不是字符串了,所以我们的显示钻石剑就要被迫改成:

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

可以发现,1.16的Nbt更加JSoN了,参数都要加上引号了。

那么我们的show_entity能用了吗?可以测试一下:

\/tellraw @a {“text“:“快摸我!“,“hoverEvent“:{“action“:“show_entity“,“contents“:{“name“:“人“,“type“:“minecraft:player“,“id“:“b5bef018-4307-48c8-894c-391f7bc3d8db“}}}

结果还是不行,但既然到了最新版本还不行,这是否代表着我们是填对的,只不过.......

没有可以显示的东西?

(注:1.16版本,实体的name标签已经支持了JSoN文本。)

上一章目 录下一章存书签
站内强推大奉打更人 将门:爷爷莫慌,老子真无敌了! 没钱上大学的我只能去屠龙了 斗罗绝世:谁让他进史莱克的! 丹武双绝 她是剑修 师妹今天也在努力练剑 洪荒:第十三祖巫?不!得叫老子巫祖! 重回高中时代的爱恋 都市,最后一个巫族 重生宝可梦,从独角虫开始 权力医途 寻忆:武灵天下 道士不好惹 繁花织梦重生女总裁的逆袭时代 黜龙 开局一辆购物车发育全靠卡BUG 先和离后逃荒,我的空间能升舱 赶海:一双紫金瞳,驾驭全球海洋 绝世战神赘婿 
经典收藏灰烬领主 巨龙:我的两个龙妹一蠢一屑 我在崩坏世界苟到末日降临 诸天从四合院启航 嫡嫁千金 万界征服系统:我是大魔王 护短族长,族中量产气运之子 洪荒:我镇元子才是地道之主 带着聊天群流浪诸天 赘婿神皇 丹武双绝 系统:没有资源?我直接无限复制 开局成杀神,陛下为何造反? 一部帝经镇万古 御兽仙尊 两界:我的金手指有点无敌 忍界解说员 污蔑我玷污皇嫂?我直接假戏真做 国王 一代天神,系统签到无敌,我怕谁 
最近更新精灵童话诗集 北域战记 气域传说之战神再起 五行真经 沧澜仙魔录 创造源 别动这个剧本 魔界龙羽生 于彼天逍遥 神源录 绝域凡仙行 最强模拟,没有选项,全继承 后室之UT大酒店 万界执掌 魔起苍山 卡包峻的一生 性转:这个修仙界的男人不对劲 签到完美世界:我的宝术自己修炼 混渊冥帝 人间烟火名流年 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说