Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uhdanny/minecraftoggextractor
Extracts the .ogg audio files out of Minecraft Java Edition. Written in Python
https://github.com/uhdanny/minecraftoggextractor
audio minecraft minecraft-application minecraft-ogg minecraft-ogg-extractor minecraft-third-party-tool python third-party-tool tkinter-gui
Last synced: 7 days ago
JSON representation
Extracts the .ogg audio files out of Minecraft Java Edition. Written in Python
- Host: GitHub
- URL: https://github.com/uhdanny/minecraftoggextractor
- Owner: uhDanny
- License: mit
- Created: 2024-06-24T12:33:24.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-25T10:08:11.000Z (5 months ago)
- Last Synced: 2024-06-25T15:43:25.189Z (5 months ago)
- Topics: audio, minecraft, minecraft-application, minecraft-ogg, minecraft-ogg-extractor, minecraft-third-party-tool, python, third-party-tool, tkinter-gui
- Language: Python
- Homepage:
- Size: 273 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# Minecraft OGG Extractor
Minecraft OGG Extractor is a tool to extract `.ogg` audio files from Minecraft's game assets for 1.8 or above with extra functionality to convert to other audio formats such as MP3, FLAC, and WAV if desired.
## Features
- Extracts ogg files from Minecraft assets.
- Conversion options for MP3, FLAC, and WAV formats.
- Option to keep or delete the original .ogg files after conversion if desired.
- Simple auto-scrolling console log and progress bar for extraction/conversion.
- User-friendly tooltips for guidance.![Application Image](images/application.png)
## Information - How it works
All audio files for Minecraft versions 1.8~ and later have been "hidden" and hashed as entries within a .json file inside the `.minecraft/assets/indexes` folder.Here's an example from one of these `.json` files:
```bash
"minecraft/sounds/music/game/ancestry.ogg": {"hash": "868c7a7c4d9358d631fa2f9abfc6bbf05d88292d}",
```The corresponding files for these hashes can be found within the `.minecraft/assets/objects/..` folders
This application automates the extraction of audio files from Minecraft's game assets. It parses .json files to retrieve all hash values associated with .ogg files, locates these files in corresponding sub-folders within Minecraft's asset directory (assets/objects), and copies them to a specified output directory. During this process, each file is renamed from its hash value to its original audio name and file extension.
Note: As of time of push, this application will try to automatically use the highest numbered .json file within the indexes folder (16.json/17.json) - Utilize the issues section of this resository to report bugs.
## Requirements
- Python 3.6 or higher
- Required Python packages (see `requirements.txt`)## How to use
- First, download the `minecraftoggextractor.exe` from the releases section of this repository and run it.
- Once open, you can begin filling out the required fields, such as your `.minecraft` directory and the desired `output directory`.
- Next, select your desired file formats by checking one or more of the format checkboxes (MP3, FLAC, WAV, Keep Ogg Files).
- When you are ready, simply just hit the `extract files` button
Please note that ogg files will be initially extracted regardless of whether `keep ogg files` is checked or not. This checkbox only serves to preserve them alongside alternative formats if specified.
## How to build
Download
1. Clone the repository or download the source code.
2. Install the required packages using pip:
```bash
pip install -r requirements.txt
3. Run main.py
```bash
python main.py
## How to Compile1. Ensure `pyinstaller` is installed.
2. Run inside repo directory.
```bash
pyinstaller --onefile minecraftoggextractor.py
3. `exe` will be in the generated newly created `dist` folder in the cloned repo's directory.# Disclaimer / Terms of Use
- This application is provided "as is", without warranty of any kind, express or implied.
- The author is not liable for any damages or legal issues arising from the distribution of files extracted using this software.
- This software is only intended for use by individuals who have purchased Minecraft Java Edition. Please respect the rights of the game developers and comply with all relevant laws and terms of service.