无实体,无死角,弹药系统钓鱼枪

一.换弹系统[可多人使用可改]_仅思路参考
循环1.对背包内弹药[可自定义]大于等于1,子弹数量为最大容量[n-1..]并且抬头手持鱼竿的人增加一发弹药
连锁有条件2.背包内弹药[可自定义]大于等于1,子弹数量为最大容量[n-1..]并且抬头手持鱼竿的人扣除弹药
连锁有条件3.背包内弹药[可自定义]大于1或等0,子弹数量为1或以上并且抬头手持鱼竿的人一个提示
连锁无条件4.给鱼竿最近半径为可自定义,2为好,子弹数量为0的一个人提示子弹不足
解析1.2.3对同时完成这些条件一个简易的换弹,有条件是为了减少误判
解析4不要只用最近,@p+条件只会寻找满足条件而不是最近的人而@e选择器加半径是为了取消误判同时长+c选择器为最近,两者误判减少
重点的发射系统
1.声音
循环execute @e[type=fishing_hook] ~ ~ ~ playsound mob.zombie.woodbreak @a[r=2,c=1,scores={计分板名字=1..]
连锁有条件2.execute @e[type=fishing_hook] ~ ~ ~ tag @p[scores={沙漠之鹰=1..}] add 发射
连锁有条件3.execute @a[scores={沙漠之鹰=1..},tag=发射] ~ ~ ~ scoreboard players remove @s 沙漠之鹰 1
发射系统连锁无条件4.execute @a[tag=发射] ~ ~ ~ detect ^ ^1.45 ^1 air 0 particle minecraft:endrod ^ ^1.45 ^1
5.execute @a[tag=发射] ^ ^1.45 ^1 damage @e[r=1.5,c=1] 15 可自定义 entity @a[tag=发射]
连锁无条件6.execute @a[tag=发射] ~ ~ ~ detect ^ ^1.45 ^1 air 0 execute @s ~ ~ ~ detect ^ ^1.45 ^2 air 0particle minecraft:endrod ^ ^1.45 ^2
连锁有条件7.execute @a[tag=发射] ^ ^1.45 ^2 damage @e[r=1.5,c=1] 15 suicide entity @a[tag=发射]
4.5为一组6.7为一组,5变6后多加一个detect后改距离,5变7改距离,以此类推
结尾阶段kill掉鱼竿并且去掉标签形成一个小遍历
4.5为一组,一组是一格方块的距离
第一次写笔记,如果有bug请反馈
这是无实体的思路,为180度角度释放
无实体鱼竿枪简称无限穷举