所以我正试着用spigot api创建一个“我的世界”插件,我玩得很开心!我正在尝试制作一个/play命令,用于向播放器播放音乐光盘。我在尝试向播放器播放音乐时遇到了一个问题。我使用的是:player.playSound(player.getLocation(), Sound.MUSIC_DISC_PIGSTEP, 500.0f, 1.0f);,这个效果很好,但是由于某些原因,当我进入一个新的维度时,音乐就会停止播放。有什么办法能阻止这一切吗?或者,有没有办法解决这个问题?感谢你们的帮助!
(我13岁,是Java的新手,如果这很明显的话,很抱歉)
发布于 2021-01-20 09:59:26
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/
https://stackoverflow.com/questions/65801387
复制相似问题