我的世界做闪电弓的方法步骤:
1.首先,/execute @e[type=Arrow] 复制代码。execute是检测执行指令,它的作用是检测到某一样东西之后执行跟在它后面的指令,而@e【type=Arrow】则是选择的目标,@e是所有实体。
2./testfor @e[type=Arrow,c=1] {inGround:1b} 复制代码。【type=Arrow】则是它后面的目标,意思是箭种类,连在一起就是检测所有的箭。然后后面的summon LightningBolt就是召唤雷电啦!
复制代码,/kill @e[type=Arrow]
【注】看看探测刚刚射出去的弓箭有没有着地,要连上高频,后面再连一个比较,两个中继的输出,连到/kill 弓箭,就会把持续召唤闪电的弓箭清除掉。
(下面引用PM的c=1和inGround的解说)
于是@e后面加入了:[type=Arrow,c=1]的意思就是探测一个最晚刷出的箭只。这里c=1就是最早的意思(Oldest),也就是第一个刷出的箭只。如果是c=-1的话就是最新的刷出的箭只(Youngest)。c=其他数字的话那就是选中多个目标,没有早晚之分。所以c=1和c=-1是难点,主要用处可以在服务器里分辨。所以指令里的c=1,那就是当机器激活后,会探测一个最早飞出的箭,并给出输出。(新手可能听不懂)。于是后面的NBT:{inGround:1b}就是探测箭只是否着落。b是单位,必须要加。所以,这个指令方块加脉冲的话主要功能就是探测一个已经着落,并且是第一个射出的箭。然后给出输出。