编者:小尘果实
版次:像素海洋移动版
■起始指令对话框键入
/setblock objective create pgd dummy
/setblock objective append pgq dummy
■备注:记分面板“pgd”用以统计弹药量值
记分项“pgq”则负责计量由钓鱼竿炮制出的小舟数目
将“铁屑”视作弹药资源,并在视线范围内补给
■其他预备工作:设置一块熔岩区域且存储其坐标位置
■总计采用24个命令方块布局
1号持续执行无条件激活模式
2至21号串联实行无条件启动状态
22号维持无条件轮回延时10刻钟后触发
23与24号同样串联无条件启动机制
■首辑操作:发射弹丸阶段
ⅰ. 持续运行无条件启用状态
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[range=1.8,scores={pgd=1..}] ~~~ /summon boat ~~~
ⅱ. 继承串联不设前提始终活跃
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[scores={pgd=1..},range=1.8] ~~~ /scoreboard players subtract @s pgd 1
ⅲ. 连锁反应下依旧无条件激活
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[scores={pgd=..0},range=1.8] ~~~ /tellraw @s [{“rawtext”:[{“text”:”§l§c剩余弹药告罄!”}]}]
ⅳ. 紧随其后保持连贯无条件触发
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[range=1.8] ~~~ /teleport @e[type=boat,limit=1,radius=2] ^^^0.1 position_look_at~
ⅴ. 不间断地延续上一步骤运作
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[range=1.8] ~~~ /teleport @e[type=boat,limit=1,radius=2] ~~871 ~
ⅵ. 叠加效应下的连续动作
/execute @e[itemtype=fishing_hook] ~~~ /execute @p[range=1.8,scores={pgd=1..}] ~~~ /playsound mob.zombie.woodbreak @a[range=17]
ⅶ. 弹道终点回归初始设定
/teleport @e[itemtype=fishing_hook] 至熔岩坐标处
■第二环节:命中标靶过程
ⅷ. 相互关联不间断生效
/execute @e[scores={pgq=2..},type=boat] ~~871 ~ /execute @e[type!=boat,type!=item,type!=xp_orb,type!=egg,type!=arrow,type!=ender_crystal,type!=snowball,count=1,range=1] ~~871 ~ /tag @e[range=1,count=1,type=boat] add 标记为命中
ⅸ. 启动联动判定点继续进行
/execute @e[scores={pgq=2..},type=boat] ~~871~ /damage @e[count=1,range=1] 5
ⅹ. 判断逻辑紧跟其后清理痕迹
/kill @e[type=boat,tag=标记为命中]
■第三章:追踪弹道路径
xi. 形成一条无间断的行为链
/execute @e[type=boat] ~~~ /teleport self ^^^1
xii. 计算系统逐步累加更新
/scoreboard players add @e[type=boat] pgq 1
xiii. 动态效果模拟爆炸粒子
/execute @e[type=boat] ~~871 ~ /particle cauldron_explosion_emitter ~~1.5~
xiv. 自动消除飞行时间过长之物
/kill @e[type=boat,scores={pgq=60..}]
■第四篇章:规避穿透墙体问题
xv. 元素标签添加阻挡标识
/tag @e[type=boat] add 障碍物标识符
xvi. 探测环境解除阻碍标签
/execute @e[tag=障碍物标识符,type=boat] ~~871 ~ /detect ~~1.5 ~ air 0 /tag @s remove 障碍物标识符
xvii. 清理无法穿越实体对象
/kill @e[tag=障碍物标识符,type=boat]
■第五节:填充弹药库功能
xviii. 循环累积增加库存量
/scoreboard players add @a[scores={pgd=..98},inventory={item=iron_nugget,amount=1..},relative_x=88] pgd 1
xix. 发送音效确认增益完成
/playsound block.piston.extend @a[inventory={item=iron_nugget,amount=1..},relative_x=87,scores={pgd=..98}]
xx. 实施扣除单个消耗品操作
/clear @a[inventory={item=iron_nugget,amount=1..},relative_x=87,scores={pgd=..98}] iron_nugget 0 1
■六部曲:实时战况呈现
xxi. 显示数据串接起来互动性更强
/execute @a[inventory={item=fishing_rod,position=main_hand_slot}] ~ ~ ~ /titleraw @s actionbar {“rawtext”:[{“text”:”§l§7【§b钓竿§3子弹余量§6 “},{“score”:{“name”:”@s”,”objective”:”pgd”}},{“text”:”§e/99§7】”},{“text”:”\n【§b射击范围§315格§7●§b攻击力§35点§7】”}]}
——— 分割线条 ————
■终篇:精确瞄准辅助界面
ⅰ’. 设置循环播放等待10刻(无条件)
/title @a[inventory={item:fishing_rod,position=weapon_mainhand}] times 0 10 0
ⅱ’. 执行标题动态展示任务
/title @a[inventory={item:fishing_rod,position=weapon_mainhand}] title §l
ⅲ’. 添加子标题以展现瞄准指示器
/title @a[inventory={item:fishing_rod,position=weapon_mainhand}] subtitle ‘『 §a▽ §f』’