1. 起源#
本Add-On源自某Minecraft Facebook社團,某人提出的問題,所以我把這個構想做出來。
雖然 Mojang官方早就拒絕了這個提案,但沒關係,透過這個行為包,玩家白天往頭頂正上方看就會瞎掉一陣子。
只要抬頭看太陽(按照日照時間不同,抬頭角度也不一樣,只要抬頭就算盯著太陽),玩家就會失明,躲在遮蔽物下面、戴上頭顱、往南北方向看可以避免失明。
具體來說,就是以24度抬頭盯著東西方向的天空,或者中午時往上看,日出和日落時可能不會生效。
按 這裡下載。
類似概念的Java版模組請試試看 這個,支援1.12。
2. 技術解釋#
雖然execute
指令可以偵測玩家轉頭的方向,但是這裡僅使用ry
和rym
偵測水平方向。
query.target_x_rotation
函數用於抓玩家的垂直轉頭,query.target_y_rotation
是玩家的頭「水平旋轉了多少度」,跟選擇子的用法不同。
entities/player.json
用於偵測玩家是否在地面上/遮蔽物/下雨/戴頭顱。沒有see_sky
這個函數,is_underground
的filter說白了只要玩家頭上有固體,就會傳回true。