本帖最后由 弱鸡绿毛怪 于 2020-7-20 23:08 编辑
AudioBuffer —— 一款既能播放音乐,也能播放服务端本地音效的插件
本插件纯净服也可以使用(只需客户端装Mod)

                                        如果你使用Sponge版本,点我

(若遇到安装问题,加这个QQ群解决:546818810)
版本:
最近一次: 修复了nearBy指令的严重Bug……


功能:
· 循环播放音乐
· 可以调节音量!
· 可以播放服务端本地的音效,制作一些RPG元素的东西(疑似中二病又犯了)
· 带宽/内存/CPU占用低/算法优化/操作简单
· 本插件的附属插件:
- ZMusic ——另一款音乐播放器
- iMusic —— 新一代音乐播放器
- LocySong —— 点歌插件
- AudioCustomed —— 自定义音效
- MyInventory ——动态GUI界面(可以使用本插件来制作界面背景音乐)
- DomainAudio——区域内播放音乐

插件经常更新,目前已经更新 7 次了

如果你发现Bug,先看看帖子最低端的“常见问题”

插件演示视频(由于拍摄原因,音量有点小,如果听不到声音,请开到最大,并非插件问题)
这里我们修改了:
· 空手打人的音效
· 射箭的音效
· 发送信息的音效
—— 包括背景音乐也是由插件播放的


BGM:
http://music.163.com/style/swf/widget.swf?sid=412951828&type=2&auto=1&width=320&height=66

插件&Mod下载地址

· Mod需要Forge支持.注意,Mod只需要客户端装了就行了,服务器不需要装。

插件版(装在服务器,全版本通用):
AudioBuffer-1.0.3.jar (600.83 KB, 下载次数: 6337)


Mod版(装在客户端,要区分版本装):
[Mod版-1.8(不包括)以下]AudioBuffer-1.0.jar (111.12 KB, 下载次数: 1272) (1.8以下)
[Mod版1.8-1.9]AudioBuffer-1.0.jar (111.24 KB, 下载次数: 348) (1.8-1.9)
[Mod版-1.9-1.11]AudioBuffer-1.0.jar (111.14 KB, 下载次数: 357) (1.9-1.11)
[Mod版1.9以上]AudioBuffer-1.0.jar (111.58 KB, 下载次数: 4592) (1.9以上,如果上面那个不行,这个可以试试)

BC修复版(如果你的BC无法使用本插件,请安装这个)
BC插件:
[BC插件]ABF-Fix.jar (3.56 KB, 下载次数: 133)

如果你的服务器是1.13.X,且为Spigot核心,请下载(注意这个不是插件):
org.rar (5.56 KB, 下载次数: 184)
使用方法:
(关闭服务器)
①解压这个压缩包
②用压缩包形式打开核心,并将先前解压出来的"org"文件夹直接拖入核心内
(核心就是和plugins文件夹在一起的XXX.jar(不是插件),右键使用压缩包打开)
③进行替换操作
(启动服务器)

① 本人只是一名学生,挤出点时间做点公益,希望大家不要做伸手党,评个分楼主就很满足了.

音乐&音效的配置

· 先来看一下一个例子服务端中插件配置文件的结构:


其中,MusicList节点底下的子节点,比如TestMusic,都是音效名
TestMusic下有一个param属性 这个属性:

① 如果以 [Net] 开头 ——代表使用网络音乐,后面跟上网络音乐直连链接(只支持Mp3格式)即可。

② 如果以 [Local] 开头 ——代表使用本地音乐,本地音乐放在Music文件夹,只支持mp3格式,且大小小于等于1M,这对于音效是足够了的,因为太大了严重占用带宽)
[Local]后面直接跟上文件名称即可。这个本地音乐会先下载在玩家本地,并缓存。



如果你改完了,保存,使用重载命令:
/abf reload
重载配置文件即可回到服务器内播放音乐了。下面我们会介绍如何播放一些音乐。

插件指令&权限

以下指令均需要: AudioBuffer.use 权限来使用

指令:
/abf play [玩家名字] [音效名称] ——来为某个玩家播放一个音乐!
/abf volume [玩家名字] [音量] ——为某个玩家调节音量. (0 < 音量 < 1)
/abf stop [玩家名字] ——来为某个玩家停止播放音乐!
/abf playAll [音乐名称] ——来为所有玩家播放一个音乐!
/abf playInWorld [世界名称] [音效名称] ——在一个世界里播放音乐!
/abf stopInWorld [世界名称] ——在一个世界里停止播放音乐!
/abf nearBy [玩家名] [音效名] [x] [y] [z] ——
一一个玩家为立体图形的中心,xyz为长宽高,在这个范围内的玩家都会播放音效(包括该玩家,可以用来做技能)
/abf playSelf [音效名称] ——给自己播放一个音乐
/abf cleanCache [音效名称] ——清理一个音乐的缓存
/abf loopFor [玩家名称] [音效名称] ——为一个玩家循环播放音乐.
/abf stopAndPlay [玩家名称] [音效名称] ——停下来然后播放一个音乐
/abf stopAndPlaySelf [音效名称] ——停下来然后给自己播放一个音乐
/abf reload ——重载配置文件,需要AudioBuffer.admin权限
/abf stopAll ——需要AudioBuffer.admin权限/abf stopNearBy [玩家名] [x] [y] [z] ——一一个玩家为立体图形的中心,xyz为长宽高,在这个范围内的玩家都会播放音效(包括该玩家)

如果看到这里你已经全部看懂了,恭喜你,你已经掌握了AudioBuffer的全部用法,接下来,我们会介绍如何使用AudioBuffer来使你的服务器变得逼格更高。

注: 插件音频发送成功是没有提示的(这是某人要求我改掉的


一些给服主的建议

   · 你可以用这个插件做一些RPG的元素,比如怪物出生的时候,来一段自己的配音台词(中二
   · 这个插件可以同时播放多个音频,这代表你可以一边播放背景音乐,一边播一些音效,像视频里那样子
   · 因为一些音效只有几十KB,所以本插件的1M上限是绝对够用的。实在不行,你完全可以把音效压成1M以内,使用格式工厂之类的工具。
  
   · 你可以在这里搜索你想要的音效并下载[Local]:
   
http://sc.chinaz.com/yinxiao/

  · 你可以在这里获取网络直连[Net](建议使用网易云的音乐直连):
  http://music.dujin.org


   这里就是网络音乐直连地址了

· 当然,你可以配合一些附属插件来达到一些神奇的效果,比如当玩家发送信息的时候,发送一个音效,逼格满满的。这些附属插件我会自己做一点发上来。

开发者部分

本插件为开发者们包装了实用的API:

AudioBufferAPI.playFor(Player who, String musicName) ——为某个玩家播放一个音乐
AudioBufferAPI.playForParam(Player who, String param) ——为某个玩家以param播放音乐
AudioBufferAPI.stopPlaying(Player who) ——停止播放音乐
AudioBufferAPI.setVolume(Player who, float volume) ——为某个玩家设置音量(0 < volume < 1)
AudioBufferAPI.loopPlayer(Player who, String musicName) ——为某个玩家循环播放



最后

· 如果你觉得插件牛皮,你可以在爱发电支持我:
[afd]LocyDragon[/afd]

或者,在底下评分,蟹蟹~


常见问题

· 客户端没安装Forge
· 客户端Mod版本不正确
· [Net]请使用网易云音乐直连

如果以上问题都解决了而没有声音,请在下面给出服务端核心以及版本号
· 请各位服主仔细读一下帖子,确保不是自己操作问题再来反馈bug!!!

· 更换世界音乐停止
把config的
WorldChangeStopMusic改成false
若你没有这一选项,就在config里加一行:
WorldChangeStopMusic: false


· 关于BC服插件不能正常运行:
记得开forge转发

[groupid=1330]PluginsCDTribe[/groupid]