someaddons / biomemusic

3 stars 2 forks source link

Music weight is off #20

Closed sherpascott closed 1 month ago

sherpascott commented 2 months ago

Love the mod btw it's extremely useful.

I'm adding custom music via a biome music resource pack I made myself. However, it feels like a few of the songs I added get played constantly while the rest of the songs I added almost never get played. Any idea what could be causing this? There is like 30 songs under "game" a few under "nether" "cave" and "end".

sherpascott commented 2 months ago

It would be awesome if there was a “weight” option for vanilla and modded music.

someaddons commented 2 months ago

adding a weight option would be kinda annoying, since you'd need to ship custom data alongside the music files theselves aswell. Would make it more complicated.

Currently the "weight" is the amount of times a category of music is added, this is the relevant code for that: https://github.com/someaddons/biomemusic/blob/817cb3b14707712182d3ba7b72be35127f11e060/src/main/java/com/biomemusic/mixin/ClientMusicChoiceMixin.java#L45

It puts them all on a list and randomly chooses one of them(those music categories contain different songs) It might be that my default weights can use some improvement, to do so it'd be helpful if you could tell me which songs are played too often(esp their category). You can enable the debug config to print the name of the songs played in the game

thvless commented 1 month ago

i think this is more about the fact that it's true random and when choosing from a pool of ~30 tracks its very likely to pick the same tracks in a row, kind of like how spotify had to change their true random shuffle back in 2014

The simplest way i can think of to solve it is to prevent playing the same track or 2 tracks again in a row, but that's just more pain to you as a dev

someaddons commented 1 month ago

I kinda would have to rewrite some vanilla stuff to achieve that, as currently my biome music mod only chooses the Music category being played, and each category has serveral songs inside, out of which one gets randomly chose

sherpascott commented 1 month ago

As of my experience it seemed like even though I had around 20 songs added to the overworld music, it was only like a 1 in 4 chance of them playing. I'll try to test it out later and send the logs.

sherpascott commented 1 month ago

Would a funky workaround be just adding in the songs I want like 3 times over so their weight is artificially higher?

Also can I have more than 10 songs in a category or will it not read those?

sherpascott commented 1 month ago

Hey update. I tested it out again and the music weights seem to work now! I think I must have mislabeled my resource pack or something earlier. Sorry about that. Although I've noticed I can't go above 10 songs in one folder. I would love to see a future update that allows for more songs in a folder and/or adjusting song weights, although I know that might be difficult to implement.