1、首先是白色处,输入端,一个高频时钟,放置任何红石信号即可触发,用于激活后面的testfor命令。做法没什么好讲的,高频时钟可以更换其他类型,随自己喜好,但频率不可太低,否则会出现延时。
然后高频的脉冲信号激活到绿色和蓝色的命令方块中,两个都是testfor,但探测的对象不同。先说绿色的:探测玩家选择的物品栏,这里设置的是第一个框,也可以更改。命令如下:
testfor @a
{SelectedItemSlot:0}
2、如需更改则把SelectedItemSlot冒号后的数字更换,第一个是0,第二个是1,以此类推,第九个是8。
还有蓝色的部分:这个是探测落地的箭,必须是落地的才会发出信号。命令如下:
testfor @e[type=Arrow,inGround=1b]
3、这条指令中,@e是所有实体的意思,而type=Arrow限定了种类为射出的弓箭。inGroud=1b则限定必须是已经落地的。
4、从蓝色部分引出了两条线路,通往红色的那边是用来清理箭的,否则会一直输出信号,使这个装置失灵,所以一旦有箭落地就要清除。里面的指令是:
kill @e[type=Arrow]
5、意思就是清理所有射出去的弓箭,这样就很明显了:一旦弓箭落地,所有的弓箭都要被清除,以保持机器正常运转。
6、而蓝色绿色两个部分都有对黑色部分的输出,其实玩过红石的都知道,红色部分其实就是一个简单的与门。也就是说,必须要同时满足物品栏放在一号位和有落地弓箭时,才会输出一个信号。做法可以去看看wiki或者基础的红石教程,都会讲到。
7、与门的输出也在一个命令方块,也就是橘黄色处的命令方块。那么已经很明显了,最后的输出肯定就是将你传送到弓箭哪里撒!对了,就是这样,里面的命令就是:
tp @a @e[type=Arrow]
8、这条命令的意思就是把玩家TP到弓箭处,应该都能理解。
9、大家有没有注意?在红色部分的输入端有一个延时的中继器?那个就是为了在传送之后再消除用的,不要省略哦,有可能发生故障。
10、最后还有一个普通玻璃的命令方块,那个就是给你一个拥有NBT改变名字和介绍的普通弓,命令可以不用,普通弓也可以运行机器。不过还是发一下命令:
give @a minecraft:bow 1 0
{display:{Name:The Bow of Ender,Lore:[The bow can TP]}}
启动后就会给你一个名字为The Bow of Ender的弓了。