Skip to content

Generatre a repo of decompiled MC. Do not share the generated repo.

Notifications You must be signed in to change notification settings

NikitaCartes-forks/GitCraft

Repository files navigation

GitCraft

Generates a Git repository of decompiled Minecraft, starting from 1.14.4. For personal use only. Do not share or upload the resulting repository.

To get started, execute ./gradlew run from the command line, advanced usage (./gradlew run --args="[Options]") is shown below.

By default, integrated assets (e.g. models), external assets (e.g. other languages) and the integrated datapacks are included in the generated repository. This can be changed by adding the --no-assets, --no-external-assets and --no-datapack parameters.

Artifacts are stored in the current working directory:

  • Metadata, mappings, assets and other temporary files go into artifact-store.
  • The generated Git repository with MC's source code goes into minecraft-repo, minecraft-repo-<version> or minecraft-repo-min-<version>.
  • The decompiled code is stored in separate JARs inside the artifact-store/decompiled directory, to not write thousands of files directly onto the file system
  • To decompile versions not provided by Mojang directly, put the meta files into extra-versions and they will be picked up

If only a specific version should be decompiled and versioned or a version range should be decompiled, provide the --only-version=<version> or --min-version=<version> parameters. <version> should be a (human readable) version name, e.g. 23w14a or 1.20.1.

To disabled versioning entirely (and only decompile), specify --no-repo.

To disable special versions (e.g. april fools or combat snapshots), specify --skip-nonlinear.

Powered by:

Help / Usage

Usage: gradlew run --args="[Options]"
Options:
  -h, --help                 Displays this help screen
      --min-version=<version>
                             Specify the min. version to decompile. Each
                               following version will be decompiled afterwards,
                               non-linear versions are still committed to
                               separate branches. The repository will be stored
                               in minecraft-repo-min-<version>. The normal
                               repository (minecraft-repo) will not be touched.
      --no-assets            Disables assets versioning (includes external
                               assets)
      --no-datapack          Disables data (integrated datapack) versioning
      --no-external-assets   Disables assets versioning for assets not included
                               inside "minecraft".jar (e.g. other languages).
                               Has no effect if --no-assets is specified
      --no-repo              Prevents the creation/modification of a repository
                               for versioning, only decompiles the provided (or
                               all) version(s)
      --no-verify            Disables checksum verification
      --only-version[=<version>[,<version>]...]
                             Specify the only version(s) to decompile. The
                               repository be stored in
                               minecraft-repo-<version>-<version>-.... The
                               normal repository (minecraft-repo) will not be
                               touched. --only-version will take precedence
                               over --min-version.
      --refresh              Refreshes the decompilation by deleting old
                               decompiled artifacts and restarting. This will
                               not be useful, if the decompiler has not been
                               updated. The repository has to be deleted
                               manually.
      --skip-nonlinear       Skips non-linear (e.g. April Fools, Combat
                               Snapshots, ...) versions completely
If you want to decompile versions which are not part of the default minecraft
meta, put the JSON files of these versions (e.g. 1_16_combat-0.json) into the
"extra-versions" directory

Cleanup

  • To remove everything except generated repositories and extra-versions git clean -d -f -e extra-versions -x. Cleans meta files and artifacts. If a decompilation is needed, it needs to be done again.

About

Generatre a repo of decompiled MC. Do not share the generated repo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.1%
  • Groovy 3.9%