aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2021-12-27 00:31:39 -0800
committerTrumeet <yuuta@yuuta.moe>2021-12-27 00:31:39 -0800
commit5d004c12d05bf6aba067c194acc7f8ab5f0af62f (patch)
tree3462925ca504cd13cf35dcb62c83515056d66bb6 /README.md
downloadminecraft-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.md49
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.