登录音乐

登录音乐

一个简单的Minecraft模组,当玩家加入世界时播放音乐。

一个简单的 Minecraft 模组,可以在玩家加入世界时播放音乐。

此模组使用 AI 辅助开发。

灵感来源于 TartaricAcid 的 Net Music !

里程碑 重大变更
1.1.0 javafx 已被 com.googlecode.soundlibs:mp3spi 取代,现在支持 MP3 格式。
1.2.0 音乐配置已更改为 JSON 类型。
1.2.1 音乐可以直接通过网络播放,无需下载;支持歌词!
1.2.2 音频后端加载,玩家可以接收服务器上其他玩家播放的音频。

图标来源于此处,由 juicy_fish 设计。

功能

  • 播放音乐
  • 支持的文件类型:mp3、wav
  • 音乐下载界面
  • 允许下载开关
  • 根据玩家名称(uuid)播放不同的音乐
  • 播放音乐时显示歌词

文件结构

破坏性变更:

自模组版本 1.2.5 起,配置文件存储位置已更改!如果您是从旧版本升级,请将它们移动到新位置!

所有音乐文件都存储在 /data/login_music 文件夹中。

{版本文件夹}
├── config
│   ├── login_music-music.json      # 特定音乐
│   └── login_music-client.toml     # 客户端配置    
│
├── data/login_music        # 存储音乐文件
│   ├── MusicsCache
│   │   ├── music_1.mp3
│   │   ├── music_2.wav
│   │   └── ...
│   └── LyricsCache   
│       ├── music_1.lrc
│       ├── music_2.lrc
│       └── ...
└── ...

配置

音乐配置 JSON

自模组版本 1.2.0 起,音乐配置已更改为 JSON 类型,如下所示。

如果您进入一个安装了此模组的服务器,服务器上的配置文件具有更高优先级,并会覆盖您的自定义设置。

{
    "musics": [
        {
            "id": "Default",
            "music": "Default.mp3",
            "musicUrl": "https://www.example.com/example.mp3",
            "lyric": "Default.lrc",
            "lyricUrl": "https://www.example.com/example.lrc" 
        }, {
            "id": "Steve",
            "music": "login_music.mp3",
            "musicUrl": "https://www.example.com/login_music.mp3",
            "lyric": "login_music.lrc",
            "lyricUrl": "https://www.example.com/login_music.lrc"
        }
    ]
}

如果 InternetAccess 设置为 true(默认设置为 false),音乐将被下载;否则,音乐将通过网络音频流播放,这可能会导致进入世界时出现短暂停顿。

例如,当一个名为 Steve 的玩家进入世界时,模组将首先尝试在 /LoginMusic 文件夹中找到与名称 Steve 匹配的音乐(在这种情况下是 login_music.mp3)。 如果之前下载失败,则尝试从其相关 URL 下载。

提示:如果文件夹中存在同名文件,即使该文件与 URL 不匹配,也会跳过下载。

如果需要配置更多条目,请遵循 JSON 规则。

自模组版本 1.2.4 起,如果安装了 Cloth Config API,您可以从主菜单打开登录音乐配置。

客户端

login_music-client.toml 仅对客户端生效:

[Lyrics]
    #是否在播放音乐时显示歌词
    ShowLyrics = true
    #定义歌词的位置
    #允许的值: UP, MIDDLE, DOWN
    LyricsPosition = "DOWN"
    #定义您想要使用的歌词颜色
    LyricsColor = 16777215

[Music]
    #音乐播放范围(非负整数)
    # 默认值: 3
    # 范围: 0 ~ 100
    range = 3
    #是否允许从互联网下载音乐
    InternetAccess = false
    #是否播放来自其他玩家的音乐
    AllowOthersMusic = true

服务端

login_music-server.toml:

[Selection]
    #音乐选择的关键词(名称/uuid)
    #允许的值: NAME, UUID
    type = "NAME"

命令

所有命令都需要权限等级 2。

命令 功能
/loginmusic reload 重新加载配置
/loginmusic list 显示当前可用的音乐配置
/loginmusic show <目标玩家> 显示目标玩家的音乐配置
/loginmusic play 重新播放您的登录音乐