Guide
About This Tool
MC Record Decoder helps you convert Java Edition custom music disc resource packs into Bedrock Edition format. If you're running a Geyser server and want your custom music to work for Bedrock players, this tool handles the conversion for you.
The converter takes care of the structural differences between Java and Bedrock packs, generates the configuration files Geyser needs, and even analyzes your audio files to give you technical details about them.
What it does
- Format Conversion: Converts Java Edition item definitions, sound configurations, and textures into Bedrock compatible formats
- UUID Management: If you upload a previous .mcpack, the tool keeps the same UUIDs so the new version can overwrite the old one in players' storage instead of piling up as duplicates
- Audio Analysis: Looks at your OGG audio files and shows you technical info like sample rate and bitrate (though this is just for reference, the audio itself isn't modified)
- Mapping Generation: Creates the custom mappings file that Geyser uses for item synchronization
- Local Processing: Everything happens in your browser, your audio files never get uploaded anywhere
Privacy Note
Your resource pack files stay on your device. The only thing sent to the server is a list of filenames, which the server uses to figure out what conversion steps are needed. Your actual audio, textures, and pack content never leave your browser.
How to Use
Step 1: Get Your Java Pack Ready
You'll need a Java Edition resource pack with custom music disc definitions. The pack should have item definitions, audio files, and optionally some textures.
Step 2: Configure Settings
Give your pack a display name and pick the API version:
- V1: Standard Custom item API format, works for most setups
- V2: For Geyser's experimental Custom item API V2, you'll want this if your server uses custom item components that need V2 format
Step 3: Upload Files
Drag your Java pack .zip into the converter. If you're updating an existing pack, also drop in your previous .mcpack file. This keeps the UUIDs the same, which stops Bedrock from storing multiple versions of your pack.
Step 4: Convert
Hit "Start Conversion" and wait a bit. The console will show you what's happening as it processes files.
Step 5: Download
You'll get two files:
- .mcpack: The converted Bedrock resource pack
- mapping JSON: Server side mapping for Geyser
Step 6: Put Them on Your Server
Copy the files to your Geyser directory:
- Put
.mcpackin/plugins/geyser-(version)/packs/ - Put
mapping JSONin/plugins/geyser-(version)/custom_mappings/
Step 7: Reload Geyser
Restart or reload Geyser, then have your Bedrock players reconnect. They should get the pack automatically.
Technical Details
Pack Structure Differences
Java and Bedrock use pretty different approaches to resource packs:
- Manifests: Java uses
pack.mcmetawith simple version numbers, Bedrock usesmanifest.jsonwith UUIDs and semantic versioning - Sound Definitions: Java has
sounds.json, Bedrock usessound_definitions.jsonwith different syntax and streaming settings - Texture Paths: Different folder structures mean paths need remapping
- Item Definitions: Bedrock needs a separate
items/directory with component based definitions
UUID Management
Every Bedrock pack has two UUIDs: one for the header, one for the resource module. When these change, Bedrock thinks it's a totally different pack and saves both the old and new versions. This eats up storage on players' devices pretty quickly.
If you upload your previous .mcpack when converting an update, the tool reuses those UUIDs and just bumps the version number. This way the new pack replaces the old one instead of adding to it. Players still download the update, but their cached version gets overwritten rather than duplicated.
Audio Processing
The tool looks at OGG Vorbis files to pull out metadata like sample rate and channels. Based on testing, Bedrock seems pretty flexible about audio specs (different sample rates, mono or stereo, various bitrates all seem to work), so the converter just displays the info without changing anything.
Supported Disc Types
The converter should handle all the music disc types in Minecraft, including the vanilla ones (13, cat, blocks, chirp, far, mall, mellohi, stal, strad, ward, 11, wait, pigstep, otherside, 5) and the newer discs from recent updates (relic, creator, creator_music_box, precipice).
