一、雷電箭
首先我們先看第一把神奇的箭。
這把應該很熟悉,就是雷電箭啦。
只要一射出去就會,duang的一聲,9道閃電落下。究竟怎麽做到呢?讓我詳細的說一說。
我們先看一下以下這段指令。
execute是檢測執行指令,它的作用是檢測到某一樣東西之後執行跟在它後面的指令,而@e【type=Arrow】則是選擇的目標,@e是所有實體。
然後【type=Arrow】則是它後面的目標,意思是箭種類,連在一起就是檢測所有的箭。然後後面的summon LightningBolt就是召喚雷電啦。
有的同學可能會說:“我設定了之後放出的箭一直在鬼畜地放雷。”
那怎麽才能讓停止鬼畜呢?那就要涉及到另外一條命令。
testfor指令是檢測,後面跟著的@e【type=Arrow】前面講過是所有箭。然後後面的{inGround:1b}它的意思是箭是否射在地上。
它的部門是b。而1b就是檢測箭落在地上。還有很重要的是testfor指令必須要連著比較器(1.8+),否則什麽用都沒有。
然而你會發現,射出去沒用。這是為什麽?因為你還漏了一樣。那就是高頻。
高頻要連著testfor的指令,這樣才能讓它一直檢測周圍的事物,否則就是一次性啦。我用的是比較器高頻,大家也可以用其他類型的高頻。
這樣還沒完,如果就這麽完,大家可能會發現,放出一箭之後再放一箭沒有效果。
於是我們只能想方法讓那支箭消失。
沒錯,就是kill。在1.8以前kill只能殺自己,現在可以上其他的實體了。於是我們只有在execute命令方塊後面連著中繼器(如圖)讓它在0.1秒後kill箭就可以讓testfor繼續檢測下一支箭。
這樣完美的雷電箭就誕生了(這裡多了8個是因為我想讓他生成9道閃電)。