AllMusic_Lyrics 图标

AllMusic_Lyrics

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 1.4.0
本资源为搬运资源,原资源地址: https://modrinth.com/mod/allmusic_lyrics
资源信息

Minecraft 版本: 26.1 26.1.1 26.1.2

平台: fabric

标签: utility

资源介绍

Addon mod for AllMusic Client3 by color_yr(https://github.com/Coloryr/AllMusic) .
Automatically fetches synced lyrics from NetEase Cloud Music / LRCLIB and displays them on screen when songs play.

The current lyrics fetching has the following log chains:

Normal Path (with Song ID)

[AllMusic3]正在解析歌曲[123456]     ← Caught by ClientReceiveMessageEvents.GAME

  ↓ LyricsDisplay.onSongParsing()
  ↓ LyricsFetcher.fetchById(123456)  → Direct LRC fetch
  ↓ Log: "后台获取歌词 ID=123456"
  ↓ Log: "歌词已缓存: 35 行 (等待播放)"
[AllMusic3]正在播放:歌名 | 歌手     ← Caught by ClientReceiveMessageEvents.GAME

  ↓ LyricsDisplay.onNowPlaying()
  ↓ pendingLines has cache → use directly
  ↓ Log: "正在播放: 歌名 | 歌手"
  ↓ Log: "歌词显示已激活: 歌名 | 歌手"

Fallback Path (No Cache, Search by Name)

If the "parsing song" message never appeared, and "now playing" arrives directly:

[AllMusic3]正在播放:歌名 | 歌手

  ↓ LyricsDisplay.onNowPlaying()
  ↓ pendingLines == null → fallback to search
  ↓ Log: "无缓存,用歌名搜索..."
  ↓ LyricsFetcher.fetch(message)
    ├─ Match NOW_PLAYING regex → extract "歌名 | 歌手"
    ├─ Split: name="歌名", artist="歌手"
    ├─ neteaseSearch("歌名", "歌手")  → search API
    ├─ neteaseSearch("歌名", "")       → name only (fallback)
    └─ lrclib("歌名", "歌手")          → LRCLIB (final fallback)

Third Path (packDo Fallback)

AllMusicCore.packDo(INFO, "歌名 | 歌手")   ← Mixin TAIL interception

  ↓ LyricsDisplay.onNowPlaying(data)
  ↓ Same search flow as above

Key Regex (LyricsFetcher)

Regex Matches Action
正在解析歌曲[::]?\s*(\d+) 正在解析歌曲[123456] Direct ID fetch
music\.163\.com.*[/#]song\?id=(\d+) NetEase URL Direct ID fetch
正在播放[::]\s*(.+?)(?:\s+by:.*)?$ 正在播放:Song Name Search by name
Search log keywords: 搜索歌词:, 网易云搜索, LRCLIB, ✘ 未找到歌词.

Currently, this module does not generate English log files.


中文用户:

AllMusic Client 歌词附属模组。
自动获取网易云/LRCLIB同步歌词并显示在HUD

当前歌词获取有以下日志链路:

正常路径(有歌曲ID)

[AllMusic3]正在解析歌曲[123456]     ← ClientReceiveMessageEvents.GAME 捕获

  ↓ LyricsDisplay.onSongParsing()

  ↓ LyricsFetcher.fetchById(123456)  → 直接获取 LRC

  ↓ 日志: "后台获取歌词 ID=123456"

  ↓ 日志: "歌词已缓存: 35 行 (等待播放)"
[AllMusic3]正在播放:歌名 | 歌手     ← ClientReceiveMessageEvents.GAME 捕获

  ↓ LyricsDisplay.onNowPlaying()

  ↓ pendingLines 有缓存 → 直接使用

  ↓ 日志: "正在播放: 歌名 | 歌手"

  ↓ 日志: "歌词显示已激活: 歌名 | 歌手"

后备路径(无缓存,歌名搜索)
如果"正在解析歌曲"消息没出现,直接来了"正在播放":

[AllMusic3]正在播放:歌名 | 歌手

  ↓ LyricsDisplay.onNowPlaying()

  ↓ pendingLines == null → 走搜索

  ↓ 日志: "无缓存,用歌名搜索..."

  ↓ LyricsFetcher.fetch(message)

    ├─ 匹配 NOW_PLAYING 正则 → 提取 "歌名 | 歌手"    
    ├─ 拆分: name="歌名", artist="歌手"    
    ├─ neteaseSearch("歌名", "歌手")  → 搜索API    
    ├─ neteaseSearch("歌名", "")       → 仅歌名(后备)    
    └─ lrclib("歌名", "歌手")          → LRCLIB(最终后备)

第三路径(packDo 后备)

AllMusicCore.packDo(INFO, "歌名 | 歌手")   ← Mixin TAIL 拦截

  ↓ LyricsDisplay.onNowPlaying(data)

  ↓ 同上搜索流程

关键正则(LyricsFetcher)

正则 匹配内容 动作
正在解析歌曲[::]?\s*(\d+) 正在解析歌曲[123456] 直接ID获取
music\.163\.com.*[/#]song\?id=(\d+) 网易云URL 直接ID获取
正在播放[::]\s*(.+?)(?:\s+by:.*)?$ 正在播放:歌名 歌名搜索
搜索的日志关键词: 搜索歌词:、网易云搜索、LRCLIB、✘ 未找到歌词。
下载太慢?试试 墨喵加速站,支持 Modrinth 和外网直链高速下载! 用的人越多,下载的越快!
下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
RCT Badges - PKGBadges

价格:0 墨喵币
下载量:0

查看详情
The Hornet Cloak!

价格:0 墨喵币
下载量:0

查看详情
TntIgnite

价格:0 墨喵币
下载量:0

查看详情
(Old MC) Commands

价格:0 墨喵币
下载量:0

查看详情