Tags
Creators
Details
Licensed CC-BY-NC-SA-4.0
Published 4 months ago
Updated last month
All versions
1.2.2
Release
Always Play 1.2.22 months ago 221
Compatibility
Minecraft: Java Edition
26.2
Platform
Fabric
Supported environments
Client-side
Changes
Always Play – 1.2.2
Fixes
- Fixed silence / long delays when switching tracks (especially noticeable when skipping backward and on game startup). The cause was that a track's readiness to play used to require volume analysis (RMS) to finish first-an operation that could take several seconds for files never analyzed before-before the track could start playing at all.
- Opening an audio file and analyzing its volume now happen independently: a track becomes ready to play as soon as it's opened (typically tens of milliseconds), while its volume is brought to the correct level during playback if needed, without delaying the start.
- Optimized track prefetching system: Now correctly detects the shuffle mode and no longer wastes effort predicting upcoming tracks for modes where the actual pick is inherently unpredictable. Previously, this constantly overloaded the preload queue for no benefit and pushed the actually needed track out of it.
- Fixed constant preload-queue recalculation on failed playback attempts. Previously, every such attempt would restart preparation for an entirely new set of tracks, making the problem worse instead of solving it.
Internal (Development)
WavPlayer: Volume analysis (RMS) moved to its own thread/queue (VOLUME_EXECUTOR), separate from the file-opening queue (PRELOAD_EXECUTOR). Accordingly,preload()and the background volume backfill incrossfadeTo()are now decoupled.PlaybackScheduler.tickPreload(): Removed the "waiting on cache" flag from the key that determines whether the preload window needs recomputing, as it was causing unnecessary recalculations on every failed playback attempt.QueuePlanner: Prediction of upcoming tracks is now only built for deterministic ordering modes (SEQUENTIAL,SHUFFLE_NO_REPEAT). For other modes where the real pick doesn't depend on prior state, no prediction is made.PlaybackScheduler: Regular (non-playlist) autoplay now gets the same protection against starting before the cache is ready that playlists already had (MIN_PRELOAD_TICKS, formerlyPLAYLIST_MIN_PRELOAD_TICKS).
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:mdwsolmY:fzoJwIkq"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:mdwsolmY:fzoJwIkq"
}

