# 为网络音响添加歌单

1.2.1 版本后我们添加了网络音响功能,目前可以通过调用网易云音乐的歌单 api,在游戏内显示对应歌单,播放对应音乐。

最近网易云音乐修改了歌单的 api 获取,所以默认每个歌单只能获取 10 首曲子,使用时请注意。

001

# 添加歌单注意事项

  • 本说明适用于 1.2.1 版本及以上 Touhou Little Maid 模组;
  • 添加歌单需要对原版资源包结构有一定的了解;
  • 需要对 JSON 格式有基本的认识;
  • 加载好带有歌单的资源包后,需要重启游戏才可以应用此歌单!

# 歌单制作

  1. 首先创建一个如下结构的原版资源包
资源包文件夹   (命名随意,最好为英文)
├─pack.mcmeta   (原版的资源包描述文件,固定名称和位置)
│
└─assets    (资源文件夹,固定名称和位置)
    │
    └─touhou_little_maid  (必须为这个名字)
        │
        └─music.json   (歌单描述文件,固定名称和位置)
  1. 按照如下方式书写 music.json 文件
[
  {
    "site": "netease",          // 必须为这个名称
    "creator": "tartaric_acid", // 歌单创建者名
    "version": "1.0.0",         // 歌单版本,随意写都行
    "date": "",                 // 创建歌单的时间,随意写都行
    "desc": "",                 // 歌单的描述,随意写都行
    "content": {
      "play_list": [
        697893402,  // 歌单的 id,可以通过网页版本的 url 里面获取
        5023067663  // 你可以添加多个歌单,没有限制
      ]
    }
  }
]
  1. 做好的资源包放进游戏内的资源包文件夹中,在游戏内加载它,加载完毕后,重启游戏就好了。

# 疑问解答

# 为什么要通过资源包这么麻烦的方式来添加歌单?

我们想为那些制作女仆模型资源包的作者提供便利,他们在制作女仆模型资源包时还能够塞入歌单,分享给那些下载使用此资源包的玩家们,这算是对他们的一种福利。

# 为什么加载歌单需要重启游戏?

重启游戏来加载歌单是为了减少获取网易云歌单 api 的频率,网易云歌单 api 对访问频率做了很高的限制,如果过于频繁的访问,会导致你的 IP 被封禁。
如果设计为重载资源包时就获取歌单,那么玩家切换语言、光影时都会尝试重新获取一遍歌单,访问频率大大提高了,这是很危险的行为。

# 等下,我看你歌单直接用的是同一位置,同一个名称的文件,那岂不是会把之前别人资源包中的歌单覆盖了?

不用担心,只要是加载的资源包,所有的歌单都会记录上,不存在覆盖的问题。这和原版的材质加载机制不一样!