使用局部坐标做到找到玩家指的地方

联机侠

1434617296040

没有使用任何marker实体/记分板/nbt

只用了3个指令 1个函数(其中一个指令是可以省略的)

  1. #chyx:ray
  2. execute unless entity @s[distance=..6] run say none
  3. execute if entity @s[distance=..6] if block ~ ~ ~ stone run say 1
  4. execute if entity @s[distance=..6] unless block ~ ~ ~ stone offset ^ ^ ^0.005 run function chyx:ray

原理很好懂 就是如果检查距离超过了6格  那么放弃 并且输出none
如果发现石头  那么就停止 并且输出1
如果仍未发现 那么往前进0.005(可自行在速度和准确度上决定)
当然 如果你不需要输出none  那么第一个指令可以省掉的
当然咯 因为玩家的眼睛离他的原点有一些距离
游戏里使用的时候应该输入execute as @a at @s offset ~ ~1.62 ~ run function chyx:ray(由命令方块时)
或者execute offset ~ ~1.62 ~ run function chyx:ray(聊天栏)

联机侠

发表评论

您必须 登录 才能发表留言!