TeamTernate / infinite-music-discs

Tool for adding lots of custom music discs to Minecraft
82 stars 15 forks source link

GitHub release (latest by date) GitHub all releases Static Badge

Infinite Music Discs

A desktop app for adding lots of custom music discs to Minecraft. Use the app to create a resourcepack that adds new music tracks and disc textures, and a datapack with custom logic to play the new music discs. An example disc texture and a pack.png are provided alongside the app to get you started.

Written in Python with a PyQt6 frontend; compiled into runnable binaries with nuitka (Windows) and pyinstaller (Linux).

Runs On

How to Install

Windows:

  1. Download imd-gui-win64.zip from the latest release, under Assets.
  2. Extract the .zip to a work folder and run the executable inside.
  3. Follow the video instructions at https://www.youtube.com/watch?v=zDXSKYvJXmg to generate a datapack/resourcepack pair. The datapack and resourcepack will be created in the same folder as the executable.

Linux:

  1. Download imd-gui-linux64.tar.gz from the latest release, under Assets.
  2. Extract the tarball to a work folder, make imd-gui executable, and run it:
    $ tar -xvf imd-gui-linux64.tar.gz
    $ chmod +x imd-gui
    $ ./imd-gui
  3. Follow the video instructions linked above to generate a datapack/resourcepack pair. The datapack and resourcepack will be created in the same directory as the executable.

Other:

  1. Install git and clone this repository.
  2. Install Python 3.11, 64 bit.
  3. Add Python to your PATH environment variable (if necessary).
  4. Open a terminal in the infinite-music-discs directory and run pip install -r requirements.rc.
  5. Launch the app by running main.pyw and follow the video instructions linked above to generate a datapack/resourcepack pair. The datapack and resourcepack will be created in the same directory as main.pyw.

Building from Source

The build environment is set up for Windows and Linux, though pyinstaller is cross-platform so you could build on macOS too.

Windows:

  1. Install git and clone this repository.
  2. Install Python 3.11, 64 bit.
  3. Add Python to your PATH environment variable (if necessary).
  4. Open a command prompt in the infinite-music-discs directory and run pip install -r requirements.rc.
  5. Try running main.pyw to verify the application works in your environment. Make sure you can generate a pack, convert files to .ogg with pyffmpeg, etc.
  6. Run build_win_nuitka.bat to compile the source into a Windows executable binary. The output exe will be placed in infinite-music-discs/bin.
  7. Run your executable! Note that your antivirus may flag your executable as suspicious because it's an unknown, unsigned program. You should be safe to ignore this warning, but of course, always use caution and common sense when ignoring the warnings of your antivirus.

Linux:

  1. Clone this repository:
    $ git clone https://github.com/TeamTernate/infinite-music-discs
  2. Run the build script. If dependencies like python3 are not installed, it may ask for sudo privileges to install them:
    $ cd infinite-music-discs
    $ ./build_linux.sh
  3. The built binary will be placed in infinite-music-discs/bin. You may need to make it executable before it can be run:
    $ chmod +x bin/imd-gui
    $ ./bin/imd-gui

Supported Build Linux distributions:

Debian-based:

Others:

Notes for Linux users: