Skip to content

SpotiCraft allow you to connect into your Spotify account and play your favorite music, playlist, artist or even search for new song all in Minecraft :3

Notifications You must be signed in to change notification settings

LeonimusTTV/SpotiCraft

Repository files navigation

NEW USER PLEASE READ

If you're planning to use the mod, and you didn't use it before, you may not be able to do so, if the Spotify app hits the 30 daily user limit, the mod may crash when trying to load data from your account, for news about this you can go see this issue on GitHub

A workaround for this is to make your own Spotify app and build the mod yourself, you'll need to update it every new release and build it again, see the How to build the mod

SpotiCraft - A new way of listening to music

These are the official links to download the mod on CurseForge and Modrinth
Another mod also called SpotiCraft exist, it's not maintained anymore, but you can always go check it -> https://github.com/IMB11/Spoticraft/tree/master (fabric only)

Table of Content

Description
TODO List
FAQ
Version List
API
How to build the mod
Changelog

Description

SpotiCraft allow you to connect into your Spotify account and play your favorite music, playlist, artist or even search for new song all in Minecraft :3 (Spotify Premium is required to use this mod!)

TODO List

  • Login - Finished
  • Play music (play, pause, next, previous, shuffle, repeat, volume) - Finished
  • Search for music, artist or playlist - Finished
  • Artist page (show music of artist, playable music) - Finished
  • Album and Playlist - Finished
  • Home page (recommendation and featured category can't be used now due to spotify removing api endpoint)  - Finished
  • Go back, forward and home button - Finished
  • Like music and unlike it - Finished
  • Add and remove from playlist - Finished
  • UI in general - Finished
  • Improvement - WIP

FAQ

Minecraft keep crashing after updating the mod

If that happen to you, before making an issue, try to delete the "spoticraft" folder in the Minecraft folder (where the mods folder is)
If Minecraft keep crashing, try to only have this mod in your mods' folder
If Minecraft still crash, make an issue and don't forget your log file

Version List

For now, I'll support Forge + NeoForge from 1.21.4 (and upcoming versions if not a lot of the code need to be changed) to 1.19. I'm also testng Fabric support, please create an issue.

Minecraft version Mod version Mod Loader Link
1.21.4 0.0.1-release Forge + NeoForge + Fabric Main Fabric
1.21.3 0.0.1-release Forge + NeoForge + Fabric 1.21.3 Fabric
1.21.2 0.0.1-release NeoForge + Fabric 1.21.2 Fabric
1.21.1 0.0.1-release Forge + NeoForge + Fabric 1.21.1 Fabric
1.21 0.0.1-release Forge + NeoForge + Fabric 1.21 Fabric
1.20.6 0.0.1-release Forge + NeoForge + Fabric 1.20.6 Fabric
1.20.5 0.0.1-release NeoForge + Fabric 1.20.5 Fabric
1.20.4 0.0.1-release Forge + NeoForge + Fabric 1.20.4 Fabric
1.20.3 0.0.1-release Forge + NeoForge + Fabric 1.20.3 Fabric
1.20.2 0.0.1-release Forge + NeoForge + Fabric 1.20.2 Fabric
1.20.1 0.0.1-release Forge + Fabric 1.20.1 Fabric
1.20 0.0.1-release Forge + Fabric 1.20 Fabric
1.19.4 to 1.19 - Forge + Fabric -
before 1.19 Not planned to be supported - -

API

The API will no longer be used after 0.0.5-beta due to Spotify new security policies

SpotifyAuthHandler.java use an API to get the access_token and refresh it, if you want to use yours you can get the repo here if you want an example.

How to build the mod

This guide uses git, IntelliJ from JetBrains and the JAVA JDK from Adoptium

Installation Part

  1. Download the repo using the "Code" button (keep in mind the folder where you're download spoticraft)
    IMPORTANT NOTE:
    If you wanna use a specific version, please choose the right branch for that :
    image
    FABRIC MOD ARE ONLY IN minecraftversion-fabric
    Please also refere to the Version List to know what branch is on what version

  2. Install JAVA 21 JDK or JAVA 17 JDK for minecraft 1.20.x (don't forget to check the "Set or override JAVA_HOME variable")
    image

  3. Install IntelliJ

  4. Open IntelliJ and open spoticraft's folder

  5. Select the right JAVA SDK in the project settings
    image
    image

  6. Now select again the right JAVA SDK in the settings
    image
    image
    Do NOT forget to check the "Download external annotations for dependencies", it might help for some errors

  7. Wait for gradle to finish the installation (lil hammer with a green dot)
    image

  8. If you see "BUILD SUCCESSFUL", everything should be good image

  9. If you don't have a BUILD SUCCESSFUL you might have done something wrong, check again this guide and if it still doesn't work, make an issue

Spotify Part

  1. Go to this url https://developer.spotify.com/ and log yourself

  2. Open the dashboard
    image

  3. Click the "Create app" button

  4. Enter the name of the app, a description

  5. You MUST add this EXACT url in your spotify app http://127.0.0.1:12589/callback (don't forget to press the "add" button)

  6. Check WEB API

  7. Check the terms image

  8. Create the app

  9. Now go to your application and click "Settings"

  10. Copy the client ID
    image

  11. Now open the file called SpotifyAuthHandler.java
    Forge Path: src/main/java/com/leonimust/spoticraft/forge/server/SpotifyAuthHandler.java
    NeoForge Path: src/main/java/com/leonimust/spoticraft/neoforge/server/SpotifyAuthHandler.java
    Fabric Path: src/main/java/com/leonimust/server/SpotifyAuthHandler.java
    image

  12. Then on the line where it says "CLIENT_ID" replace it by your client ID
    image

Build Time

  1. Now time to build
    Forge: for Forge, open the gradle menu at the right of your screen, go into jarJar and double click on "jarJar"
    image

NeoForge: for NeoForge you'll need to enter a command to build the mod (if you're using a version that only has NeoForge like 1.21.2, do the same as Forge)

Windows:

.\gradlew --build-file=build-neoforge.gradle jarJar

Linux/MacOs:

./gradlew --build-file=build-neoforge.gradle jarJar

Fabric: for Fabric, open the gradle menu at the right of your screen, go into build and double click on "build"
image

  1. Now open the "build" folder then "libs"

Forge: the only file you see (the one that ends with -all.jar) is the mod, put it into your mods folder

NeoForge: you'll have two files, one with "-all.jar" at the end and one without, use the one that has "-all.jar", put it into your mods folder

Fabric: you'll also have two files, one that ends with "-sources.jar" and one without, take the one that doens't end with "-sources.jar", take it and put it into your mods folder, don't forget the Fabric API !
image

Changelog

Release 0.0.1

  • Fixed refresh token not being updated after being used to refresh the access token
  • Fixed resize text in the ui, now using text width and not text length
  • Added repeat one and repeat enable icons to the ui
  • Added shuffle enable icons to the ui

Beta 0.0.7

  • Fixed Like Button position
  • Fixed bugs

Beta 0.0.6

  • Updated auth system because of Spotify new security policies
  • Other fixes

Beta 0.0.5

  • Added Turk and French
  • Fixed pixel bleeding on 1.20.1
  • Fixed crash when searching for an artist, playlist or album without an image

Beta 0.0.4

  • Fixed crash when image isn't downloaded successfully
  • Fixed crash when user doesn't have an active device
  • Fixed UI not refreshing correctly when closing

Beta 0.0.3

  • Added NeoForge support for 1.21.4
  • Fixed crash when searching (doesn't occur all the time, but sometimes it does)

Beta 0.0.2

  • Fixed crash when searching from the last version
  • Added home button
  • Added a home page (somewhat)
  • Added go forward button
  • Added play button in playlist
  • Removed the text of Play button in albums and playlist, same for Liked Songs
  • Fixed scroll not being reset when content change
  • Made some general improvement

Beta 0.0.1 - Removed due to crash when searching

  • Made ui smaller
  • Added Search with artist, songs, playlist and albums
  • Added Artist page with top songs and albums
  • Added Playlist page with playable music
  • Added Albums, same as playlist
  • Added music name and artist(s)
  • Added Liked songs, same as playlist and albums
  • Added back button
  • Added a play button in albums (will be reworked on future version)

Alpha 0.0.2

  • Fixed crashes
  • Bump forge version to 1.21.4-54.0.16

Alpha 0.0.1 - Removed due to issues

  • User can log in with their Spotify account
  • Base version of the UI to play music, pause music, go to the next music, go to the previous music, shuffle, repeat, change volume of the music and show the Image of the music currently playing

About

SpotiCraft allow you to connect into your Spotify account and play your favorite music, playlist, artist or even search for new song all in Minecraft :3

Resources

Stars

Watchers

Forks

Languages