diff options
author | Trumeet <yuuta@yuuta.moe> | 2021-12-27 00:31:39 -0800 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2021-12-27 00:31:39 -0800 |
commit | 5d004c12d05bf6aba067c194acc7f8ab5f0af62f (patch) | |
tree | 3462925ca504cd13cf35dcb62c83515056d66bb6 /README.md | |
download | minecraft-pacman-5d004c12d05bf6aba067c194acc7f8ab5f0af62f.tar minecraft-pacman-5d004c12d05bf6aba067c194acc7f8ab5f0af62f.tar.gz minecraft-pacman-5d004c12d05bf6aba067c194acc7f8ab5f0af62f.tar.bz2 minecraft-pacman-5d004c12d05bf6aba067c194acc7f8ab5f0af62f.zip |
First Commit
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..c1c6825 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Arch packages for Minecraft + +This repository contains build scripts (PKGBUILDs and their generation scripts) to use Pacman as a Minecraft version manager. + +Packages are separated into `minecraft-xxx` and `minecraft-assets-xxx`, because the later is huge and takes a long to package, and is also optional for some users. + +I made a generator in C to fetch version JSONs and convert them into partial PKGBUILDs and launcher.gen files. + +This repository does not contain any launchers. Instead, it exposes some variables from the manifest to launchers through launcher.gen files. Launchers should source them to run the game (see `launcher` as an example). + +## makepkg + +1. Compile the generator and generate `PKGBUILD.gen` and `launcher.gen`: `./switch 1.18.1` + +2. Bulid and install the Minecraft package: `cd mc; makepkg` + +3. (Optional) Build and install the assets package: `cd assets; makepkg` + +Whenever you need to build a different Minecraft version, do the steps again (changing the arguments of `./switch` will cause it to generate new build files). + +## Tested versions + +1.18 + +1.17 + +1.13 + +Basic testing for 1.14, 1.15 and 1.16 (no assets) + +## TODO + +Fabric support + +Forge support + +## Known issues + +Assets folders cannot be shared across versions (i.e. you must have a dedicated assets folder for each asset version). + +Library compatibility issues with version <= 1.12: Inconsistency detected by ld.so: dl-lookup.c: 105: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed! + +## License + +Thanks to my friends' help. + +Minecraft itself is a proprietary software. Its files subject to its EULA and are not included in this repository. + +The build scripts are licensed under GPL v2. |