Офлайн-лаунчер Minecraft: аккаунты без Microsoft, установка версий и лоадеров (Fabric, Quilt, Forge, NeoForge), каталог модпаков Modrinth, поиск и обновление модов, разбор вылетов, системный трей, автозагрузка, плагины, прокси и зеркала.
52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
"""PixelLauncher — лёгкий Minecraft-лаунчер в духе LiteLauncher.
|
|
|
|
Аргументы:
|
|
--version <id> — сразу выбрать указанную версию (для ярлыков рабочего стола)
|
|
--profile <имя> — применить профиль запуска (ярлыки профилей рабочего стола)
|
|
--protocol-url <pixellauncher://…> — ссылка из браузера/с сайта;
|
|
допустимо и просто первым аргументом: pixellauncher://plugin/x.py
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from launcher.ui import run # noqa: E402
|
|
|
|
|
|
def _select_version():
|
|
args = sys.argv[1:]
|
|
if "--version" in args:
|
|
i = args.index("--version")
|
|
if i + 1 < len(args):
|
|
return args[i + 1]
|
|
return None
|
|
|
|
|
|
def _protocol_url():
|
|
args = sys.argv[1:]
|
|
if "--protocol-url" in args:
|
|
i = args.index("--protocol-url")
|
|
if i + 1 < len(args):
|
|
return args[i + 1]
|
|
for a in args:
|
|
if a.startswith("pixellauncher://"):
|
|
return a
|
|
return None
|
|
|
|
|
|
def _profile_arg():
|
|
args = sys.argv[1:]
|
|
if "--profile" in args:
|
|
i = args.index("--profile")
|
|
if i + 1 < len(args):
|
|
return args[i + 1]
|
|
return None
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run(select_version=_select_version(), protocol_url=_protocol_url(),
|
|
select_profile=_profile_arg())
|