Get Current Song
This is a simple FabricMC mod that allows you to get the currently playing song in Minecraft via a command. You can download the latest version on Modrinth.
Commands
This mod adds two commands to the game:
/getsong
— Gets information about the currently playing song, such as the name and composer./getsongid
— Gets the namespaced ID of the currently playing song.
However, instead of using these commands, you can see the same information on the F3 screen.
API
This mod provides a resource-based method of getting information about the songs in Minecraft, such as name, composer, album, and track number.
Resource pack developers
If your resource pack adds custom music to the game, consider adding your song(s) to the getcurrentsong/song_names.json
file in your resource pack. This JSON file has one root object, with keys being the song IDs and values being an object whose form is described below:
{
"name": "song name (string, required)",
"composer": "composer's name (string, required)",
"soundtrack": "album name (string, optional)",
"trackNumber": "track number in album (integer, optional)"
}
If the soundtrack is specified, the track number must also be specified, and vice-versa.
Mod develepers
To include this mod's API with Gradle, add the following to your build.gradle
(code adapted from the Modrinth Maven docs):
repositories {
// Other Maven repositories can go above (or below) Modrinth's. We don't need priority :)
// Do remember, though, this is the `repositories` block below where plugins are declared, not in `pluginManagement`!
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
modApi "maven.modrinth:getcurrentsong:1.0.1"
}
Once you have added the API to your build.gradle
, you can load song information from resource packs using the following API (the SongNameDatabase
class is in the io.github.gaming32.getcurrentsong
package):
SongNameDatabase#isInitialized
— Returntrue
if the song info is currently in a loaded state. Attempting to read from the database when this returnsfalse
may not return correct data. You have been warned!SongNameDatabase#getSong
— Gets the current song by name ornet.minecraft.util.Identifier
and returns aSongNameDatabase.SongInfo
object ornull
if the song wasn't found in the database.