HomeJavaMods[BTW Addon] Music Player
[BTW Addon] Music Player
ModsJava

[BTW Addon] Music Player

by BardRadogost · on Modrinth

A dynamic music engine for Better Than Wolves CE. Create custom Music Packs where music plays contextually based on dimension, biome, time of day, combat…

⬇ Download on Modrinth
[BTW Addon] Music Player — screenshot 1[BTW Addon] Music Player — screenshot 2[BTW Addon] Music Player — screenshot 3[BTW Addon] Music Player — screenshot 4

BTW Music Player

BTW Music Player is a dynamic music engine created as an addon for the Better Than Wolves Community Edition 3.0.0 mod for Minecraft 1.6.4. It replaces the standard, repetitive in-game music, allowing for custom tracks to be played based on the gameplay context.

Players can create and install their own "Music Packs" containing music files and a songs.json file that defines when each track should be played. The mod features smooth transitions between songs and intelligently manages combat music, reacting to actions from both the player and monsters.

Features

Downloads

Requirements

Mod Installation

  1. Download the latest .jar file for the mod from the Downloads section.
  2. Open your Minecraft directory.
  3. In your .minecraft directory, find the mods folder.
  4. Move the downloaded btw-music-player-x.y.z.jar file into the mods folder.
  5. Launch the game.

Music Pack Installation

After successfully installing the mod, you can add any number of music packs to customize the in-game music.

  1. Download a music pack (e.g., RadogostMusicPack.zip) from the Downloads section.
  2. Navigate to your main Minecraft game directory (.minecraft).
  3. In the .minecraft directory, find a folder named musicpacks. If it does not exist, you must create it.
  4. Unzip the downloaded .zip archive. Inside, you will find a folder with the music pack's name (e.g., RadogostMusicPack).
  5. Important: Move the entire folder (e.g., RadogostMusicPack) into the musicpacks directory. Do not copy individual .ogg files or the songs.json file directly.

After restarting the game, the music packs will be loaded automatically according to the settings in the configuration file.

Example Folder Structure

This is what your file structure should look like after installing the mod and two example music packs (RadogostMusicPack and AnotherCoolMusicPack):

.minecraft/
├── mods/
│   ├── btwce-3.0.x.jar
│   └── btw-music-player-x.y.z.jar
│
├── musicpacks/
│   ├── RadogostMusicPack/
│   │   ├── songs.json
│   │   ├── day/
│   │   │   └── kam_01_spirit.ogg
│   │   └── combat/
│   │       └── witcher_52_monster_battle.ogg
│   │
│   └── AnotherCoolMusicPack/
│       ├── songs.json
│       └── ... (music files)
│
└── ... (other minecraft files and folders)``````

Configuration

You can configure the mod directly inside the game!

  1. Go to Options.
  2. Look for the Music slider.
  3. Click the small Gear Icon next to the slider.

This menu allows you to:

Alternatively, you can edit the configuration file manually at .minecraft/config/btw-music-player.cfg.

Available Options

Creating Your Own Music Pack

Anyone can create their own music pack! The process involves preparing your music files in .ogg format and defining playback rules in a special file called songs.json.

0. Important Tip: Volume Normalization

Before you begin, we strongly recommend normalizing the volume for all your tracks. This will prevent situations where one track is too quiet and the next is too loud, forcing you to constantly adjust the in-game music slider.

You can do this using a free program like Audacity. For my music pack, I used the "Normalize" effect to a perceived loudness of -22 LUFS. This step ensures a professional and consistent listening experience.

1. Folder Structure

First, create a main folder for your music pack, e.g., MyFirstMusicPack. Inside it, you must place the songs.json file. You can place your music files alongside it or, for better organization, group them into subfolders (e.g., music, combat, boss).

musicpacks/
  └── MyFirstMusicPack/
      ├── songs.json
      ├── ambient/
      │   ├── day_forest.ogg
      │   └── night_plains.ogg
      └── combat/
          └── regular_fight.ogg

2. The songs.json File

This is the heart of your music pack. It's a text file containing a list of "rules" that tell the mod when to play a specific track. Each rule consists of four parts:

Here is an example songs.json file with two rules:

[
  {
    "file": "ambient/day_forest.ogg",
    "title": "Spirit of the Woods",
    "priority": 10,
    "conditions": {
      "dimension": "overworld",
      "time_of_day": "day",
      "biome": "forest"
    }
  },
  {
    "file": "combat/regular_fight.ogg",
    "priority": 100,
    "conditions": {
      "is_in_combat": true
    }
  }
]

3. Priority

Priority decides which playlist takes precedence if more than one rule's conditions are met at the same time. The rule with the highest priority number wins.

Example: You are in a forest during the day (matching the rule with priority: 10), but a zombie suddenly attacks you (also matching the combat rule with priority: 100). Since 100 is greater than 10, the music will immediately switch to the combat track. Tip: Use low priorities (e.g., 1-20) for general background music (biomes, time of day) and high priorities (e.g., 100+) for special events like combat, boss battles, or victory themes.

4. Available Conditions

The following table lists all the conditions you can use in the conditions section to define your rules.

Condition Key Accepted Values Description
dimension overworld, the_nether, the_end Specifies the dimension the player must be in.
biome ocean, plains, desert, extreme_hills, forest, taiga, swampland, hell, sky, frozenocean, ice_plains, ice_mountains, mushroomisland, jungle Specifies the biome. Note: Hills (e.g., forest_hills), edges, and shores are automatically mapped to their parent biome (use forest, desert, etc.). Rivers and Beaches are ignored to maintain the previous track and cannot be targeted directly.
time_of_day day, night Specifies the current time of day in the game.
weather clear, storm Checks if the weather is calm or if there is a storm.
is_in_cave true, false Checks if the player is below the configured Y level (Default: 60).
is_in_combat true, false Checks if the player is currently in combat.
boss_type wither, ender_dragon Checks if a specific boss is nearby
victory_after_boss true A special condition that is true for a short time after defeating a boss.
is_menu true Checks if the player is in the Main Menu or any screen outside of the active world (e.g., World Selection).
is_low_health true, false Checks if the player has 5 hearts (10 HP) or less. This tracks plays as an overlay on top of current music.

5. Tips and Tools

Save the spreadsheet as a .csv file, and then use my helper tool, which will automatically convert it into a ready-to-use songs.json file.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more