Decompile multiple versions of Minecraft with a single command
Project description
Shulkr
Shulkr is a tool that decompiles multiple versions of Minecraft and commits each version to Git
Requirements
- Git
- JDK (>= 17 for Minecraft 1.18)
- Gradle >= 7.3
Installation
pip install shulkr
Usage
shulkr 1.16 1.17 1.18
This will generate a commit with the decompiled source code for Minecraft 1.16, 1.17 and 1.18 in the current working directory:
40240b1 version 1.18
86dc440 version 1.17
5d13494 version 1.16
Note: It's okay to skip versions. Shulkr generates the source code for each version and then commits it to git, so you can include as many or as little intermediate versions as you would like.
Version Patterns
Ranges of versions can be specified with ..
and ...
:
A..B
expands to all versions betweenA
andB
(inclusive), not including snapshotsA...B
expands to all versions betweenA
andB
(inclusive), including snapshots
A
and/or B
can be omitted, defaulting to the earliest and latest supported
versions, respectively.
Versions can be excluded by adding a negativie pattern after it. To negate a
pattern, add -
. The following pattern expands to all versions after A
, up to
and including B
:
A...B -A
Options
--repo
/ -p
By default the source code is generated in the current working directory. To specify a different location:
shulkr --repo minecraft-sources MINECRAFT_VERSION
If the directory does not exist, a new git repo will be created there.
--message
/ -m
This option lets you customize the commit message format:
shulkr -m "Minecraft {}" 1.18-rc4
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Licensed under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.