Links
Tags
Creators
Details
Licensed MIT
Published last year
Updated 3 days ago
All versions
1.2.0
Release
CraftMusic 1.2.03 days ago 15
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client-side
Changes
Fixed
- Playback no longer fails to start on machines without Visual Studio. The bundled
native audio library was compiled in MSVC's Debug configuration and linked against
VCRUNTIME140D.dll/ucrtbased.dll— debug-only runtimes that ship with Visual Studio and are not redistributable. On any other machine the library failed to load (UnsatisfiedLinkError: Can't find dependent libraries), leaving the play button disabled and double-clicks doing nothing. Rebuilt statically with MinGW: the DLL now depends only onKERNEL32.dllandmsvcrt.dll, both present on every Windows install. If you could not get any sound out of 1.0.x / 1.1.x, this release fixes it. - Dragging the floating lyrics position no longer writes the config file on every frame.
Changed
- Volume slider now follows a perceptual curve (output gain = slider value squared). Linear gain made the lower half of the slider nearly useless — 50% still sounded about 70% as loud. Stored config values and the UI still show the slider position; only the gain handed to the audio backend is mapped.
- Requires NeoForge 21.1.200 or newer for Minecraft 1.21.1.
Internal
- Removed the dead
NullSafetyUtilswrapper (it null-checked APIs that never return null). - Merged three copies of the lyrics-loading logic and two copies of the lyric binary search.
- Lyrics lookup by track is now a map lookup instead of scanning the whole library.
- Dropped the unused
FontCorerepository entry and leftover MDK template files.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gMk1R9tH:sZmFnRC5"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gMk1R9tH:sZmFnRC5"
}

