如果选是,那么游戏将会使用默认浏览器打开;如果选复制到剪贴板,将会真的复制到你的剪贴板,只不过网页需要你自己打开浏览器复制进去;如果选否,那么恭喜你,啥也不会发生,只不过界面被关掉了而已。
那么如果我们要点击的时候打开百度搜索首页该怎么办?
很简单:
{“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盘.......?为什么不能打开?
为什么呢?
我们找到Minecraft WIKI,会发现上面说了一句话:“
且出于安全原因禁止玩家使用。”
原来如此!Mojang竟然考虑得如此周到!不愧是Mojang!
小主,
所以open_file无法在游戏里运行,但是在游戏外,比如你开发的mod,就可以运行。
open_file在Minecraft的作用就是用于游戏自动产生的消息中,比如你按了F2截图,你就会发现你可以点击消息中的带有下划线文字部分来打开你的截图照片。
(等等,那么用在MC函数中可以运行吗?)
第三个:run_mand
run_mand就比较直白了:运行指令。比如:
{“text“:“你猜猜这有什么用“,“clickEvent“:{“action“:“run_mand“,“value“:“/give @p diamond“}}
运行,并点击一下文字,你会发现你获得了一颗钻石!
但如果你忘记在value的开头打上/,那么你就会发现你发送了一条消息:give @p diamond
这是怎么回事?
这就要联系到run_mand的运作方式了。
在聊天消息以及书里,当一位玩家点击了带有run_mand属性的clickEvent那段文字,游戏就会默认该玩家为指令执行者,并自动在该玩家的聊天栏输入value里的指令并发送。
所以说,run_mand就只是点击发送消息咯?
没错就是这样的,具体能不能执行只能看该玩家的权限等级了。
那么该怎么样让不够等级的玩家也能使用run_mand运行指令呢?
用告示牌就行了。
但是在告示牌上面怎么写JSON啊?
很简单,用指令放置一个带有JSON的告示牌就行了,比如上面这条指令就可以:
/setblock ~~~ minecraft:sign{Text1:“{\“text\“:\“你猜猜这有什么用\“,\“clickEvent\“:{\“action\“:\“run_mand\“,\“value\“:\“give @p diamond\“}}“}