龙头 API playSound

Spigot API playSound

所以我正在尝试使用龙头 api 创建一个 Minecraft 插件,我玩得很开心!我正在尝试制作一个向播放器播放音乐光盘的 /play 命令。我在尝试向播放器播放音乐时遇到了问题。我正在使用这个:player.playSound(player.getLocation(), Sound.MUSIC_DISC_PIGSTEP, 500.0f, 1.0f); 这很好用,但由于某种原因,当我进入下界等新维度时,音乐停止播放。有什么办法可以阻止这种情况吗?或者有解决办法吗?谢谢大家的帮助!

(我 13 岁,对 Java 很陌生,抱歉,如果它真的很明显)

playSound 方法只会在该玩家使用时在某个区域播放声音,但是因为您使用 500 的音量,所以它覆盖了非常非常大的区域,因此玩家将保持听到声音,除非他们移动很远或改变尺寸。请注意,音量值通常在最小 0.0 和最大 1.0 之间,任何超过 1.0 的值只会增加可以听到声音的距离。

我能想到的唯一真正的解决方法是在玩家改变尺寸或离开声音位置后再次使用 playSound。例如,您可以使用 PlayerChangedWorldEvent 来检测玩家何时移动,然后再次播放声音。

引用事件侦听器:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerChangedWorldEvent.html

如果您不确定如何使用事件侦听器,那么这里有一个很棒的教程:https://www.spigotmc.org/wiki/using-the-event-api/