Inspiration

Going around and asking organisers about possible ideas regarding the hackathon theme: Unconventional Connections, one hot topic was music, more specifically converting music into abstract forms and we wanted to create a project that heavily engages with the user, you, with your music tastes. Building on this, we came up with something unique and interesting: transforming your personal taste into a tailored minecraft experience. The vast horizons of both music and minecraft world generation can combine to synthesise captivating and intriguing biomes and structures reflecting your personality.

What we did?

We built and implemented a Minecraft mod that tracks the current song that the user is listening to on Spotify and based off the genre of the song, a unique biome and weather will be generated and loaded in for the user in the current Minecraft world that they are playing in. As well as this, we have used Google Gemini in an entertaining way - creating fun minecraft-themed lyrics for the current track playing on Spotify.

Moreover, we wanted the user to be able to generate a new custom Minecraft world not only based on their music tastes but also personalised prompts which they would be able to input on a website that we have designed and deployed. On this website, the user is able to pick a music genre and input prompts to generate a custom seed creating a Minecraft world reflecting the personality of the user.

How we built it?

To build the website, for the backend, we made use of a Minecraft library Cubiome coded in C to analyse Minecraft seeds and store information about these seeds which will be used by the website. First, the information is stored in a JSON file and then it is imported to populate a database using MongoDB. We deployed this website on Vercel for single player Minecraft.

For the mod, we used fabric via CurseForge to run it, last fm + mcrcon to automate detecting spotify activity to change the style of the unloaded chunks to match the genre; ChunkGenerating API allows us to override the normal minecraft seed algorithm; gemini takes the song info from the same workflow to generate lyrics with minecraft puns, which is synced according to the timestamps available online for each lyric.

Challenges we ran into

Generating many valid seeds, analysing this information and writing this information to a JSON file took very long to do, originally 300 seeds took 2 hrs to process. To overcome this challenge, we optimised the seed processing code and also removed redundant fields and we were able to process 500 seeds in 30 minutes.

Gemini API had many caveats that we had to overcome - the rate limits kept hitting after 3am.

Starting the Minecraft server with the correct version and packages was challenging to configure.

Accomplishments that we're proud of

Generating random valid Minecraft seeds, analysing information about these seeds using Cubiome and storing this data in a database using MongoDB.

Connecting frontend and backend of the website and deploying using Vercel.

Creating a mod that tracks the song that the user is listening to on Spotify in realtime and then generating unique biomes and structures .

What we learnt?

We learnt how to populate a database using MongoDB.

Configuring and starting a Minecraft server.

What's next for Biome Beats?

We could refine Biome Beats and possibly publish the mod on Modrinth/CurseForge.

Share this project:

Updates