Minecraft 原版一共就十几张唱片。听多了会背下来,挖矿的时候一响就知道是哪首。
所以我做了个包:把 13 张唱片全换成别的歌。跟「永恒之钢」一样,这个是国际版的
.mcpack,双击导入,没上线。
歌单
| 唱片 | 歌 |
|---|---|
| cat | Alone - Marshmello |
| 13 | Episode 33 - She Her Her Hers |
| blocks | Life Goes On - Oliver Tree |
| chirp | Lucky(降调版) |
| far | Minecraft - C418 |
| mall | Sweet Dreams - Breathe Carolina |
| mellohi | Take My Hand - DAISHI DANCE & Cécile Corbel |
| stal | Wet Hands - C418 |
| strad | All I Want Is You - Rebzyyx & hoshie star |
| ward | i watch the moon - 东方下小雨 |
| 11 | unhappy - s0rrow |
| wait | 反方向的钟 - 周杰伦 |
| pigstep | 越来越不懂 - 蔡健雅 |
C418 那两首我特意留着了。原版的 far 是《Minecraft》主题曲、stal 是《Wet Hands》,
这两首是 Minecraft 的魂,换掉就没味道了。
剩下的按场景配的:挖矿的时候听节奏感强的,盖房子的时候听安静点的。
卡点一:音频格式
Minecraft 只认 .ogg,别的格式读不出来。
13 首歌转完,一共 25 MB。这个体积在附加包里算很大了——
原版整个游戏也就几百兆,你一个唱片包就吃掉 25 MB。
所以打包出来的 .mcpack 有 26 MB,导入的时候得耐心等一会儿。
卡点二:让游戏知道去哪找声音
这是最关键的一步。皮肤、贴图那些放进去就能用,但声音必须在 sound_definitions.json
里登记,游戏才会去加载。
登记方式是这样:
{ "format_version": "1.14.0", "sound_definitions": { "record.cat": { "category": "record", "sounds": [ { "name": "sounds/musicplus/disc_01", "stream": true, "volume": 1.0 } ] } }}几个点:
record.cat是原版的声音 ID,我用它做键名,等于把原版那首「顶掉」了stream: true是流式播放——不把整个文件读进内存,边放边读。 不加这个,25 MB 音频全塞内存里,低配设备直接崩name是路径,不要写后缀名,游戏自己会找.ogg
一共 13 条,每条对应一张唱片。写错一个 ID,那张唱片就没声音, 而且不报错,只是安静地什么都不放。
卡点三:唱片本身的贴图
唱片不只是声音,还有一张圆盘贴图。原版每张唱片的花纹都不一样, 你放自定义歌曲的时候,图案也得跟着换。
我做了 5 张底色:绿、橙、蓝、红、深红,13 张唱片按歌的风格分到这几张上。
贴图也是 16×16,中间一个圆心、外面一圈纹路。看着简单, 但要在那么小的尺寸里做出「这是个唱片」的感觉,改了好几版。
一个必须说的事
这个包里的歌都是有版权的。
它现在的用途是我自己单机听。如果要把这个包公开发布出去(比如上传到模组平台), 那是另一回事——涉及音乐版权,不能随便发。
所以我做的时候就想清楚了:这个包不上线。跟「永恒之钢」一样,自己用。
真要做能发布的版本,得换成无版权音乐,或者自己做的曲子。 这个我以后可能会弄,现在先这样。
想试的话
.mcpack 双击导入,进游戏之后找唱片机放进去就行。
不过有个前提:你得先有正版的歌——这个包只包含音频文件的组织形式, 里面的歌我是从自己买的数字专辑里导出来的。
要试的话跟我说。