自定义唱片——音乐文件变成唱片,放进唱片机全服都能听到

原创 闭源 娱乐 自定义唱片——音乐文件变成唱片,放进唱片机全服都能听到 1.0.0

请登录后获取
版权类型
原创
插件中文名称
自定义唱片
插件英文名称
Custom Music Disc
原帖地址
“#”
支持的核心(服务端)
  1. Paper
  2. Purpur
语言支持
中文(简体)
前置组件
CraftEngine https://www.minebbs.com/resources/craftengine.11281/
适配版本(Java)
  1. 26.x
插件基于 CraftEngine 实现:CE 负责把音效与唱片写进服务端的 Jukebox Song 注册表,
并把音频打包进资源包下发给客户端。所以播放走的是完全原生的流程:
不需要任何客户端 mod,也不占 TPS。



功能

- 导入即用:音频放进目录,一条命令生成唱片
- 批量导入:/disc importall 一次导入整个文件夹,几十首也只需要重载一次
- 链接导入:/disc url ID 链接,让服务器自己下载(带大小上限与内网防护)
- 自动转码:ffmpeg、VLC、oggenc 三选一自动探测;本来就是单声道 Ogg Vorbis 的话什么都不用装
- 自动识别时长:直接解析 ogg 文件填好唱片长度,放完自动停,不用手填
- 自动生成贴图:没有美术也不怕,插件按 ID 生成 16x16 唱片图标,随时可用同名 PNG 覆盖
- 参数可调:可听距离默认 64 格,音量与比较器强度也能在配置里改
- 状态诊断:/disc info ID 直接告诉你音效与唱片是否已经在注册表里生效
- 删除管理:/disc delete 会把音频、贴图、配置、索引一起清理
- 与其它 CE 内容包共存:产物是独立命名空间的标准 CE 配置,不会冲突



前置要求

- 服务端:Leaf 26.2 或 Paper 26.2(Minecraft 26.2)
- 插件:CraftEngine 26.8,必须安装
- Java:25
- 转码工具:可选,ffmpeg、VLC、oggenc 任装其一(只在导入非单声道 ogg 时才用得上)

安装

1. 把 DiscStudio-1.0.0.jar 放进服务端的 plugins 目录
2. 确认 plugins 目录里已经有 CraftEngine
3. 重启服务器。



使用流程(3 步)

第 1 步:把音频放进 plugins/DiscStudio/import/ 目录,可以一次丢几十首


第 2 步:执行 /disc importall
只导入一张用:/disc import 文件名.ogg ID 标题

第 3 步:全部导入完成后,执行一次 /ce reload all

然后发放:/disc give 音乐文件名字 玩家名 1

注意两点

1. 导入后要执行一次 /ce reload all(或者直接重启服务器,效果一样),唱片才会被 CraftEngine
读取。没加载之前发出去的唱片是放不出声的。
2. 新唱片需要玩家退出服务器再进,才能在客户端生效。Minecraft 的注册表在玩家登录时同步、
之后不可变,CraftEngine 官方文档也是这样说明的。

这个包括你自己,也要重新进一遍服务器,不然你在give获取唱片的时候会强制踢出去一次




命令与权限


/disc help 查看帮助,以及当前探测到的转码工具 所有人
/disc list 列出全部唱片和注册状态 所有人
/disc info ID 查看某张唱片的详情 所有人
/disc import 文件 (ID) (标题) 导入目录里的单个音频 OP
/disc importall (--force) 批量导入整个目录,只重载一次 OP
/disc url ID 链接 (标题) 下载网络音频并导入 OP
/disc give ID (玩家) (数量) 发放唱片,默认发给自己 OP
/disc delete ID 删除唱片,连音频、贴图、配置、索引一起删 OP
/disc reload 按索引重新生成 CE 配置,不执行命令 OP

- 权限节点:discstudio.use 默认所有人,discstudio.admin 默认 OP
- 命令别名:/discs 和 /musicdisc
- 批量导入时文件名可以用"ID - 标题"格式(空格、横杠、空格分隔),
中文文件名会自动用哈希兜底,不会互相覆盖


转码工具怎么选( ffmpeg 不是必须的 )


这是转mp3转.ogg格式的链接,可以直接转.ogg然后丢plugins/DiscStudio/import文件夹,然后执行import指令 最后ce reload all 即可

Minecraft 客户端只解码 Ogg Vorbis,所以 mp3 等格式必须转一次。工具三选一,装哪个都行:

- ffmpeg:下载后把 ffmpeg.exe 放进 plugins/DiscStudio/bin 目录即可
- VLC:很多人电脑里本来就有,插件会自动识别 VLC 的默认安装位置
- oggenc:vorbis-tools 自带,只能读 wav 和 flac,Linux 上 apt install vorbis-tools
- 或者事先用在线工具或软件导出成"Ogg Vorbis + 单声道",那就一个工具都不用装

为什么要单声道:Minecraft 只有单声道音效才会按距离衰减,立体声会被客户端当成背景音乐处理,
离多远都听得一样大声。插件在导入立体声时会黄字提示你。

--------------------------------------------------

插件生成的文件

plugins/DiscStudio/config.yml 插件配置
plugins/DiscStudio/discs.yml 唱片索引,自动维护
plugins/DiscStudio/import/ 音频放这里
plugins/DiscStudio/bin/ 可选,放 ffmpeg.exe 或 vlc.exe 或 oggenc.exe

plugins/CraftEngine/resources/discstudio/pack.yml
plugins/CraftEngine/resources/discstudio/configuration/discs.yml
plugins/CraftEngine/resources/discstudio/resourcepack/assets/discstudio/sounds/music/xxx.ogg
plugins/CraftEngine/resources/discstudio/resourcepack/assets/discstudio/textures/item/disc/xxx.png

常用配置

craftengine 部分
- namespace:物品、音效、唱片的 ID 前缀,默认 discstudio
- give-command:发放走的 CE 命令,默认 ce item give 玩家 物品 数量,可留空
- remove-item-model-component:唱片贴图不生效时改成 true

disc 部分
- material:唱片基础材质,默认 music_disc_pigstep
- name-format 和 lore:物品名与说明,支持 %title%、%id%、%duration% 占位
- generate-placeholder-texture:没有贴图时自动生成 16x16 图标

audio 部分
- converter:auto、ffmpeg、vlc、oggenc,默认自动探测
- converter-path:手动指定工具路径,留空自动查找 bin 目录与系统 PATH
- channels:默认 1,也就是单声道,很重要
- sample-rate:默认 44100
- max-file-size-mb:单个音频大小上限,默认 20
- attenuation-distance:可听距离,默认 64 格

song 部分
- comparator-output:唱片机比较器输出强度,默认 15
- range:CE 唱片 range 字段,默认 64

--------------------------------------------------

常见问题

- 唱片是紫黑方块:资源包没生效。确认客户端接受了资源包;仍不行就把配置里的
remove-item-model-component 改成 true,再执行 /disc reload 和 /ce reload all
- 放进唱片机没声音,或者别人听不到:先执行 /disc info ID 看是否已注册(没有就 /ce reload all),
再让玩家重连,确认音频是 Vorbis 不是 Opus,可听距离也别调太小
- 提示未找到任何转码工具:装 ffmpeg、VLC、oggenc 任意一个,或者改用单声道 ogg
- 找不到 plugins/DiscStudio/import 目录:装好插件重启后会自动创建,控制台日志里就有它的绝对路径
- 能放多长的音乐:没有硬限制,默认流式加载,建议 10 分钟以内、单文件 20 MB 以内

必须知道的限制

- 新增唱片后玩家要重连,注册表在登录时同步且不可变
- 删除唱片不会立刻从注册表消失,重启服务器后才会彻底移除
- 注册表项只增不减,反复导入同一个 ID 只会覆盖,不会出现重复唱片
- 你执行 /ce reload all 时资源包会重新下发,在线玩家可能看到一次重载。
这是新的音频送达客户端所必需的,插件本身不会自动触发

--------------------------------------------------

关于音乐版权(重要)

唱片一旦被玩家拿到,音频就会通过资源包下发给所有玩家,这在法律上等同于再分发。
所以请使用允许再分发的素材:

- 可以用:CC0 或公共领域(免署名)、CC-BY(可以用但必须署名)、明确标注免费商用的素材
- 不要用:网易云、QQ音乐等平台的商业歌曲(会员下载的加密文件插件也读不了),
以及各类音乐视频的翻录
- 推荐站点:耳聆网 ear0.com、淘声网 tosound.com、Free Music Archive、Incompetech
- 署名技巧:把作者写进唱片标题,例如 "曲名 - 作者",署名就会自动显示在物品说明里

--------------------------------------------------

致谢

- CraftEngine(作者 小默米 / XiaoMoMi):音效与唱片注册表、资源包生成全部由它完成,
本插件是它的非官方附属工具
  • QQ20260912-012138.webp
    QQ20260912-012138.webp
    30.9 KB · 查看: 12
  • QQ20260912-012211.webp
    QQ20260912-012211.webp
    100.9 KB · 查看: 8
  • QQ20260912-012227.webp
    QQ20260912-012227.webp
    125.6 KB · 查看: 12
作者
weiai_world
价格
8.80金粒
下载
13
查看
255
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部