UU看書

第三十七章 testforblock、testforblocks-探測 下

天才一秒記住【UU看書】地址:www.uukanshu.co

我們現在學會了如何探測實體,那方塊呢?

使用testforblock和testforblocks。

這兩個指令只相差1個字母,但是功能卻大徑相庭。在英文中,blocks是blcok的複數。也就是說,testforblock是探測單個方塊,而testforblock是探測多個方塊。

真有這麼簡單嗎?

testforblock

作用:探測指定位置是否為某種方塊。

需要許可權等級:Java2,基岩1

需要作弊:是

格式:

基岩版

testforblocklt探測位置:座標gtlt方塊ID:字串gt資料值:整數

Java113之前

testforblocklt探測位置:座標gtlt方塊ID:字串gt資料值:整數

testforblocklt探測位置:座標gtlt方塊ID:字串gt方塊狀態

很不幸的是,雖然Java版和基岩版都有加入這條指令,但是Java版中這條指令在113版本的第三個快照時被移除了。所以說:

testforblockinJava

生於172版本13w37a

死於113版本17w45a

算了,正經點。

舉個例子,比如:

executeatestfor1minecraftredstoneblock

就是探測每個玩家其腳底下是否是紅石塊,是則成功,否則失敗。

然後是testforblocks。剛才說過這裡多了s,也就是多個方塊,那麼是怎麼探測的呢?

先來個介紹:

testforblocks

作用:探測指定區域是否與另外一個指定區域完全相同

需要許可權等級:Java2,基岩1

需要作弊:是

格式:

testforblockslt源區域起始座標gtlt源區域終止座標gtlt比較區域下西北角座標gtlt模式maskedallgt

比較時先透過fill選擇區域的方式確定源區域,再與要比較區域進行比較。只不過這個要比較區域的位置填寫就挺蛋疼:你得找到要比較區域的下西北角(專業術語叫做區域基點)。

哪裡是下西北角呢?

區域內XYZ三個值最小的地方。

這兩個區域的大小由第一個定,所以比較的區域就直接給一個角了。

以後的clone指令(複製指令)也是這種形式。

舉個例子:

testforblocks111111121

作用是:檢測執行者腳下3×3的區域是否和頭頂3×3的區域完全一樣

testforblocks還有兩個比較模式:

all和masked。

all(預設模式)——比較全部。

masked——忽略源區域的空氣方塊(即源區域的空氣方塊可以代替要比較區域的任何方塊)

這兩章所講的3條指令,要發揮全部作用就需要和紅石比較器配合,不只是單單的用命令方塊執行哦!

歷史

Java

172——加入了testforblock

18——加入了testforblocks

111——testforblock支援方塊狀態

113——因為executeif的出現,testforblock和testforblocks被移除。

攜帶版Alpha

0160——加入了testforblock和testforblocks

如遇章節錯誤,請點選報錯(無需登陸)

新書推薦

上帝時刻 我在詭異世界修改歷史 我在特雷森開逃那些年 末日滿級玩家 鋒腰搖擺人,足壇以我為模板 開局門將單刀必撲 暗黑破壞神之毀滅