1
0
Fork 0
mccl/README.md

58 lines
2.0 KiB
Markdown

mccl
====
Which stands for Minecraft Console Launcher.
As a fellow pirate I got tired of that there are no vanilla builds on torrents.
After a very short research I found I can just download everything directly
from Mojang without authorization. xD
So I wrote this launcher... :)
It can install only vanilla game, mod launchers should be installed using theirs
installers. But, after some testing and fixes (fixes for Forge), it can run
Forge, Fabric, and Quilt. I know there are other mod launchers as well, but
I didn't test them.
There's still a lot of work left.
Since I don't have a Mac or Hackintosh I cannot handle MacOS properly. Rules
should probably work though.
Using
-----
```bash
mccl install|i version directory
mccl run|r version directory [-u User] [-U UUID] [--java-Xmx 4G] [--profile]
mccl list|l directory
```
`version` is game version like `1.20.2` or `23w43b`. Or it can be
`[latest-]release` or `[latest-]snapshot` to install respectively a freshest
release or snapshot version.
`directory` is a root path where all game files will be installed to, or runned
from, or listed.
`-u,--username` is a player's in-game username.
`-U,--uuid` is a UUID of your account. Even though this launcher doesn't perform
an authorization, passing your username and account's UUID will still load your
skin.
`--profile` tells to load a `mccl_profile.json` if it exists or store passed
(or theirs defaults otherwise) `--username` `--uuid` and `--java-Xmx`. Once
stored, you can omit `-u`, `-U`, and `--java-Xmx`, and just pass `--profile`,
and it will load your username, UUID and a maximum heap size.
TODO
----
- Rewrite LocateJavaHome for Linux so that it will actually search for an
existing Java installation.
- Implement `uninstall|u` command. It is not easy, since I must look through all
installed versions what assets and libraries are used. Btw, I think it will be
good if in case of removing of a vanilla version all mod loaders for that
version should be removed as well. Make that a default behaviour and introduce
a flag that disable it.