⠀蛋⠀
我监听一个事件,获得了玩家的 Location,然后,我要以这个 Location 为圆心,以 任意格 为半径,为这里面的玩家播放音效。
Spigot#1.16.5
求助

Thehrz
本帖最后由 Thehrz 于 2021-7-30 20:31 编辑

可以不使用这个Location

Entity#getNearbyEntities()
返回以此实体为中心的边界框内的所有实体.

建议使用此方法 如果非想判断玩家在圆内 建议使用数学计算 不过性能可能比较差

Player#playSound()
向玩家在指定位置播放声音.

https://bukkit.windit.net/javadoc/


⠀蛋⠀
Thehrz 发表于 2021-7-30 20:29
Entity#getNearbyEntities()
返回以此实体为中心的边界框内的所有实体.

bushi..
这个方法早已使用过。
我想获得是 范围音效。
我没说清楚也是个原因。
如果我监听PlayerMoveEvent的话,那么就会出现玩家视角移动就出现重置播放的结果,有无更好的方法

ARSpark
本帖最后由 RarityEG 于 2021-7-30 20:44 编辑

可以试一试 https://plgdev.xuogroup.top/#/5-5

  1. World overworld = Bukkit.getWorlds().get(0);
  2. // 主世界
  3. Player player = Objects.requireNonNull(Bukkit.getPlayer("ThatRarityEG"));
  4. // 随便找个玩家
  5. overworld.playSound(
  6.     player.getLocation(), // Location 对象确定位置
  7.     Sound.ENTITY_WITHER_SPAWN, // 音效
  8.     SoundCategory.HOSTILE, // 可选,音效分类
  9.     1, // 音量,参考下面的说明
  10.     1 // 播放速度
  11. );
复制代码

注意这里的 Location 是一个位置,使用 Player 只是为了方便创建一个
(看上去 Spigot 可以用啦



第一页 上一页 下一页 最后一页