# mcextract
[![PyPI](https://img.shields.io/pypi/v/mcextract)](https://pypi.org/project/mcextract/)
[![Python](https://img.shields.io/pypi/pyversions/mcextract)](https://www.python.org/downloads//)
![Downloads](https://img.shields.io/pypi/dm/mcextract)
![Status](https://img.shields.io/pypi/status/mcextract)
[![Issues](https://img.shields.io/github/issues/legopitstop/mcextract)](https://github.com/legopitstop/mcextract/issues)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
Extract assets and data from the Minecraft jar.
## Installation
Install the module with pip:
```bat
pip3 install mcextract
```
Update existing installation: `pip3 install mcextract --upgrade`
## Features
- Easy to use command line interface.
- Choose to extract the assets or data folders from the Minecraft jar
- Map objects to get access to all sounds, langs, and other hidden assets that aren't in the jar.
- Run the built-in data generator to get reports, registries, and vanilla world generation files.
## Examples
### Run using the API
```py
import mcextract
api = mcextract.MCExtractAPI()
api.extract("1.20.4/1.20.4.jar", True, True, accept_eula=False)
api.map("16.json", accept_eula=True)
api.generate("1.20.6", ['--client', '--server', '--reports'], accept_eula=True)
```
### Run using CLI
```sh
mcextract extract 1.20.4/1.20.4.jar --assets --data -eula
mcextract map 16.json -eula
mcextract generate 1.20.6 --client --server --reports -eula
```
## Command line commands
```
usage: mcextract [-h] [-V] {extract,map,generate} ...
positional arguments:
{extract,map,generate}
extract Extract data or assets folders from the Minecraft jar.
map Maps Minecraft's objects using an index file.
generate Use Minecraft's built-in data generator.
options:
-h, --help show this help message and exit
-V, --version print the mcextract version number and exit.
```
## Planned Features
- Add minimize or maximize JSONs.
## License
This project's source code is under the MIT license and the Minecraft EULA.
Raw data
{
"_id": null,
"home_page": "https://github.com/legopitstop/mcextract/",
"name": "mcextract",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Minecraft, java, jar, assets, data, reports, UserFolder, ServerJars",
"author": "Legopitstop",
"author_email": "contact@lpsmods.dev",
"download_url": "https://files.pythonhosted.org/packages/65/db/631beadfb71a2ac24395423a1a1793aa0b4244ba80c68e75e565ad4c42e5/mcextract-1.2.0.tar.gz",
"platform": null,
"description": "# mcextract\n\n[![PyPI](https://img.shields.io/pypi/v/mcextract)](https://pypi.org/project/mcextract/)\n[![Python](https://img.shields.io/pypi/pyversions/mcextract)](https://www.python.org/downloads//)\n![Downloads](https://img.shields.io/pypi/dm/mcextract)\n![Status](https://img.shields.io/pypi/status/mcextract)\n[![Issues](https://img.shields.io/github/issues/legopitstop/mcextract)](https://github.com/legopitstop/mcextract/issues)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nExtract assets and data from the Minecraft jar.\n\n## Installation\nInstall the module with pip:\n```bat\npip3 install mcextract\n```\nUpdate existing installation: `pip3 install mcextract --upgrade`\n\n## Features\n\n- Easy to use command line interface.\n- Choose to extract the assets or data folders from the Minecraft jar\n- Map objects to get access to all sounds, langs, and other hidden assets that aren't in the jar.\n- Run the built-in data generator to get reports, registries, and vanilla world generation files.\n\n## Examples\n\n### Run using the API\n```py\nimport mcextract\n\napi = mcextract.MCExtractAPI()\napi.extract(\"1.20.4/1.20.4.jar\", True, True, accept_eula=False)\napi.map(\"16.json\", accept_eula=True)\napi.generate(\"1.20.6\", ['--client', '--server', '--reports'], accept_eula=True)\n```\n\n### Run using CLI\n```sh\nmcextract extract 1.20.4/1.20.4.jar --assets --data -eula\nmcextract map 16.json -eula\nmcextract generate 1.20.6 --client --server --reports -eula\n```\n\n## Command line commands\n```\nusage: mcextract [-h] [-V] {extract,map,generate} ...\n\npositional arguments:\n {extract,map,generate}\n extract Extract data or assets folders from the Minecraft jar.\n map Maps Minecraft's objects using an index file.\n generate Use Minecraft's built-in data generator.\n\noptions:\n -h, --help show this help message and exit\n -V, --version print the mcextract version number and exit.\n```\n\n## Planned Features\n\n- Add minimize or maximize JSONs.\n\n\n## License\n\nThis project's source code is under the MIT license and the Minecraft EULA. \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Extract assets and data from the Minecraft jar.",
"version": "1.2.0",
"project_urls": {
"Homepage": "https://github.com/legopitstop/mcextract/"
},
"split_keywords": [
"minecraft",
" java",
" jar",
" assets",
" data",
" reports",
" userfolder",
" serverjars"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "65db631beadfb71a2ac24395423a1a1793aa0b4244ba80c68e75e565ad4c42e5",
"md5": "78a8bd106a072257d3729af5c6e093b3",
"sha256": "93b2a8a7136d418e752d9c7f9c70681c5562b598b93feb3f7517eca1ee7a8fbe"
},
"downloads": -1,
"filename": "mcextract-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "78a8bd106a072257d3729af5c6e093b3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 6282,
"upload_time": "2024-05-07T03:49:34",
"upload_time_iso_8601": "2024-05-07T03:49:34.452336Z",
"url": "https://files.pythonhosted.org/packages/65/db/631beadfb71a2ac24395423a1a1793aa0b4244ba80c68e75e565ad4c42e5/mcextract-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-07 03:49:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "legopitstop",
"github_project": "mcextract",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mcextract"
}