(注:此为1.13版本指令,低于该版本或高于该版本均无法使用,其他版本:
低于1.13——/setblock ~~~ minecraft:standing_sign 0 replace {Text1:“{\“text\“:\“你猜猜这有什么用\“,\“clickEvent\“:{\“action\“:\“run_mand\“,\“value\“:\“give @p diamond\“}}“}
高于1.13——/setblock ~~~ minecraft:oak_sign{Text1:“{\“text\“:\“你猜猜这有什么用\“,\“clickEvent\“:{\“action\“:\“run_mand\“,\“value\“:\“give @p diamond\“}}“})
运行一下,你就会发现出现了一个告示牌,如果你一直点这个告示牌,那么你就一直会获得钻石。(注意不是左键啊,是右键)
而且,就算你撤了你的op,你还是可以获得钻石。
并且!在告示牌上,你是不需要在value的开头加上\的。
为什么?
因为在告示牌上,你点击了告示牌,游戏会检查告示牌的JSON,发现了clickEvent,游戏就会发现这个JSON不简单,于是检查了一下clickEvent,发现了run_mand。
此时游戏恍然大悟,然后游戏就把value交给了服务器处理。服务器会把这条value按照命令方块处理指令的方式来处理,这个时候指令执行地点就是告示牌,指令执行者就是命令方块。
而命令方块处理指令本身也就不需要加上/,自然告示牌上的JSON运行指令也就不需要加上/了。
第四个:suggest_mand
suggest_mand很简单,就是玩家点击时将value的值覆盖(注意这个词)到玩家的聊天栏输入框,玩家可以自由选择要回车,还是删掉。这很简单就不再多说了。
第五个:change_page
change_page这个是专门给书用的,就是在书里点击文字就可以自动跳转到value值的页面,比如:
/give @a written_book{author:“你好MC“,title:“《Minecraft指令手册》第一卷“,pages:[“{\“text\“:\“第五章:坐标\“,\“clickEvent\“:{\“action\“:\“change_page\“,\“value\“:4}}“,““,““,““]}
(此为1.13版本指令)
获得一本由你好MC写的“《Minecraft指令手册》第一卷”,然后在第一页里显示着:
第五章:坐标
点击这串文字,就会自动跳转到3-4页。
如果你细心观察上面的指令,你就会发现这里的value不是字符串,而是数字。
没错,change_page属性的value只能是数字值,不能选择字符串或者是布尔值。
这就是change_page的用法。
第六个:copy_to_clipboard
这是在1.15版本才加入的新功能,作用就是玩家点击时可以自动将value值复制到玩家的剪贴板,通过这个功能或许可以方便我们让服务器更加的智能化。
由于篇幅有限,剩下的内容我们下章再讲。
——————————————
clickEvent各事件可用性:
open_url——聊天界面、书
open_file——无法在游戏里使用
run_mand——聊天界面、书、告示牌
suggest_mand——聊天界面
change_page——书
copy_to_clipboard——聊天界面、书