Skip to main content

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 between A and B (inclusive), not including snapshots
  • A...B expands to all versions between A and B (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shulkr-0.2.0.tar.gz (13.6 kB view hashes)

Uploaded Source

Built Distribution

shulkr-0.2.0-py3-none-any.whl (3.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page