我监听一个事件,获得了玩家的 Location,然后,我要以这个 Location 为圆心,以 任意格 为半径,为这里面的玩家播放音效。
Spigot#1.16.5
求助
Spigot#1.16.5
求助
本帖最后由 Thehrz 于 2021-7-30 20:31 编辑
可以不使用这个Location
Entity#getNearbyEntities()
返回以此实体为中心的边界框内的所有实体.
建议使用此方法 如果非想判断玩家在圆内 建议使用数学计算 不过性能可能比较差
Player#playSound()
向玩家在指定位置播放声音.
https://bukkit.windit.net/javadoc/
可以不使用这个Location
Entity#getNearbyEntities()
返回以此实体为中心的边界框内的所有实体.
建议使用此方法 如果非想判断玩家在圆内 建议使用数学计算 不过性能可能比较差
Player#playSound()
向玩家在指定位置播放声音.
https://bukkit.windit.net/javadoc/
Thehrz 发表于 2021-7-30 20:29
Entity#getNearbyEntities()
返回以此实体为中心的边界框内的所有实体.
bushi..
这个方法早已使用过。
我想获得是 范围音效。
我没说清楚也是个原因。
如果我监听PlayerMoveEvent的话,那么就会出现玩家视角移动就出现重置播放的结果,有无更好的方法
本帖最后由 RarityEG 于 2021-7-30 20:44 编辑
可以试一试 https://plgdev.xuogroup.top/#/5-5
复制代码
注意这里的 Location 是一个位置,使用 Player 只是为了方便创建一个
(看上去 Spigot 可以用啦
可以试一试 https://plgdev.xuogroup.top/#/5-5
- World overworld = Bukkit.getWorlds().get(0);
- // 主世界
- Player player = Objects.requireNonNull(Bukkit.getPlayer("ThatRarityEG"));
- // 随便找个玩家
- overworld.playSound(
- player.getLocation(), // Location 对象确定位置
- Sound.ENTITY_WITHER_SPAWN, // 音效
- SoundCategory.HOSTILE, // 可选,音效分类
- 1, // 音量,参考下面的说明
- 1 // 播放速度
- );
注意这里的 Location 是一个位置,使用 Player 只是为了方便创建一个
(看上去 Spigot 可以用啦