Music Disk DJ
This mod allows you to seamlessly search music from YouTube and Soundcloud within the game and provides the functionality to replace vanilla music discs with your favorite songs. Also share your playlists with other players via books (beta 0.8.0, YT only for now). The mod is designed to be fully client-side.
Download
You can find a ready-made build of this mod on the releases page.
Dev Section
How to Build this "Amazing" Project
- First, clone the repository for yourself.
- Open it as a project in your IDE. Don't worry, it'll probably take forever to load. Just grab a cup of coffee and contemplate your life choices.
- Now comes the fun part: try to build the project! But guess what? Nothing works! Surprise, surprise! Enjoy deciphering those cryptic error messages for the next 6 hours. Good luck!
- After countless moments of frustration, confusion, and questioning your existence, you might start to understand why nothing works. Or maybe not. Who knows? It's all part of the adventure!
- Spend another eternity re-reading guides, searching Stack Overflow, and banging your head against the keyboard. Just when you think you're close to giving up, try reopening the project. Miraculously, it might actually build this time. Or not. The suspense is killing you, isn't it?
- Finally, after what feels like a lifetime of pain and suffering, you manage to build the project. Congratulations! You deserve a medal for surviving this ordeal. Now go celebrate with some ice cream or a stiff drink. You've earned it.
TODO:
- [x] add soundcloud support
- [x] sc/yt link label
- [ ] parse sc links
- [ ] import/export through books
- [x] add reconnect button and connection info (Search results from: YT, SC 🔄)
- [ ] directional sound option (low priority)
- [ ] dynamic results count (low priority)
- [ ] Resource pack is not enabling when created for the first time (low priority)
- [ ] Linux support
- [x] Dark mode support
- [x] remove garbage code
- [x] System.out.println -> logger
- [x] handle all ignored exceptions
- [x] Fix freezing when trying to download when yt-dlp is not allowed to access the Internet (try again after a while)
- [x] Cache tracks with info for faster minor changes in playlist
- [x] add missing cutStringTo();
- [x] Fix special characters in names when exporting
- [x] Fix names issue
- [x] add import/export through books
- [x] Disable interactions with results before update completes(fixed with different approach)
- [x] Highlight discs with tracks
- [x] Reset mod state when exiting to the main menu
- [x] Disc names do not change after applying changes
- [x] read current downloaded songs from resource pack after minecraft reloading(from local config file? to share through books)
- [x] Fix regex for yt links
- [x] remove lag when open gui
- [x] fix previews(how?)
- [x] Remove generatePreviews thread call when gui opened first time
- [x] add 1.20 disk
- [x] disable search button when searching
- [x] translate titles
- [x] rework results block gui
- [x] change pack format to 15 (1.20)
- [x] add statusbar
- [x] add progressbar
- [x] split progress to sections somehow, switch sections in progress, each section from 0% to 100%
- [x] add name in main gui (blink Music Disk DJ in search suggestion hint field)
- [x] maybe add direct link paste