获取当前歌曲

获取当前歌曲

简单的Minecraft模组,让你查看当前正在播放的歌曲

工具

Get Current Song

这是一个简单的 FabricMC 模组,允许你通过命令获取 Minecraft 中当前正在播放的歌曲。你可以在 Modrinth 上下载最新版本。

命令

此模组向游戏中添加了两个命令:

  • /getsong — 获取当前正在播放的歌曲的信息,例如名称和作曲者。
  • /getsongid — 获取当前正在播放的歌曲的命名空间 ID。

不过,除了使用这些命令之外,你也可以在 F3 屏幕上看到相同的信息。

API

此模组提供了一种基于资源的方法来获取 Minecraft 中歌曲的信息,例如名称、作曲者、专辑和曲目编号。

资源包开发者

如果你的资源包向游戏中添加了自定义音乐,请考虑将你的歌曲添加到资源包中的 getcurrentsong/song_names.json 文件中。此 JSON 文件有一个根对象,其键为歌曲 ID,值为一个如下所述形式的对象:

{
    "name": "歌曲名称(字符串,必需)",
    "composer": "作曲者姓名(字符串,必需)",
    "soundtrack": "专辑名称(字符串,可选)",
    "trackNumber": "专辑中的曲目编号(整数,可选)"
}

如果指定了原声带,则也必须指定曲目编号,反之亦然。

模组开发者

要将此模组的 API 与 Gradle 一起使用,请将以下内容添加到你的 build.gradle 中(代码改编自 Modrinth Maven 文档):

repositories {
    // 其他 Maven 仓库可以放在 Modrinth 的上方(或下方)。我们不需要优先级 :)
    // 但请记住,这是声明插件的 `repositories` 块下方的那个块,而不是 `pluginManagement` 中的!
    maven {
        name = "Modrinth"
        url = "https://api.modrinth.com/maven"
        content {
            includeGroup "maven.modrinth"
        }
    }
}

dependencies {
    modApi "maven.modrinth:getcurrentsong:1.0.1"
}

将 API 添加到你的 build.gradle 后,你可以使用以下 API 从资源包加载歌曲信息(SongNameDatabase 类位于 io.github.gaming32.getcurrentsong 包中):

  • SongNameDatabase#isInitialized — 如果歌曲信息当前处于已加载状态,则返回 true。当此方法返回 false 时尝试从数据库读取可能不会返回正确的数据。请注意!
  • SongNameDatabase#getSong — 通过名称或 net.minecraft.util.Identifier 获取当前歌曲,并返回一个 SongNameDatabase.SongInfo 对象,如果未在数据库中找到该歌曲则返回 null。