ViaUtilities
Various automated utility tools for Via updates.
Dependencies
- At least Java 17
- Python with six, jawa, and wget packages
- git
- (git) bash
Usage
py version-checker.py
is the main file, subsequently calling the other scripts. It searches for new snapshots and releases. Once one is found, the server will be downloaded its mappings will be generated.--generateSources
or-v
to generate sources using VanillaGradle (using the sources script you'll have to hand edit)--generateSourcesEnigma
to also generate mapped sources for client and server - I don't actually use this anymore and only keep it as a fallback; VanillaGradle is where it's at--ver <version>
to generate mappings/sources for a specific, older version.--localVersionFile
or-l
to use a version manifest from the version directory instead of downloading it (also need--oldVer <old version>
)
./sources-enigma.sh <client/server> <version>
to generate client and server sources with Mojang mappings.- Requires an enigma cli jar in the main directory called
enigma-cli.jar
. - Requires the proguard mapping file
sources/<platform>-<version>.txt
(e.g.sources/client-1.15.2.txt
)
- Requires an enigma cli jar in the main directory called
./burger.sh <old version> <new version>
to generate Burger a diff.- Requires the client jar in
versions/client-<version>.jar
(e.g.versions/client-1.15.2.jar
).
- Requires the client jar in
py sources.py
to generate and export sources using VanillaGradle--ver
(required)--fromCache
or-c
to not move the version manifest to the project root--decompile
or-d
to decompile the version--push
or-p
to commit and push the changes to the project's remote- Example:
py sources.py --ver 1.18.2 -d -p
diff-checker.py
is basically Burger lite but operating on mapped code for things outside dumpable registries--output <path>
(required) output file path for the generated (kind of) patch file
- See https://github.com/ViaVersion/Mappings on how to use the mappings generator
Burger mapping files and Vitrine html views will be saved in the Burger
directory, Via mappings in the mappings directly
. If sources are exported, they will be thrown into the sources
dir.
License
This project is licensed under the GNU General Public License 3.0.
The tree contains a pre-compiled, cherry-picked Enigma (GNU Lesser General Public License) version, since it likes to break every now and then. You can find the modified source here.