Cranberry
In-Game Music Playback for macOS
The Cranberry mod enables you to control your computer's music playback without leaving the Minecraft world. When installed on a server, you can share information about the tracks you're listening to with other players who also have this mod (this feature can be disabled if needed).
Client Installation
Currently, the mod works exclusively on the macOS operating system and automatically disables itself on other platforms.
When installed only on the client, pressing the assigned key (default M) opens a special screen displaying information about the current music track and providing playback control. The screen background automatically adapts to the dominant color of the track's cover art - this option can be disabled in the settings.
Server Installation
Installing the mod on the game server allows participants to see each other's musical preferences. Each player can individually configure the sending or receiving of such information through configuration files. It's important to note: if the mod is installed on the server, then the owo-lib library (required dependency) is mandatory for all connecting clients, otherwise compatibility issues with registries will occur.
Configuration Settings
Configuration parameters are available in the config/cranberry-client-config.json5 file. Installing Mod Menu provides a graphical interface for changing the following options:
- Send music information (default: enabled; works only in multiplayer)
- Receive music information (default: enabled; works only in multiplayer)
- Dynamic background (default: enabled)
How It Works
Magic.
Technical Details
Apple uses a private framework calledMediaRemote in its operating systems, which provides media content information and playback control. Special Swift code interfaces with this framework, compiles into a dynamic library, and is called from Java through the JNI interface.
Windows and Linux Support
Although implementing similar functionality for Windows and Linux would be technically easier (Windows offers MediaPlayer, and Linux has MPRIS/D-Bus, both well-documented and intended for public use, unlike Apple's MediaRemote), I lack practical experience working with WinRT or D-Bus. Therefore, despite interest in adding support for other platforms, there are currently no specific plans to implement this feature.