Skip to main content

A library for creating a custom Minecraft launcher

Project description

minecraft-launcher-lib

PyPI PyPI - Downloads PyPI - Python Version PyPI - License PyPI - Implementation Read the Docs

A Python library for creating a custom minecraft launcher. This library containts functions to install and execute minecraft and interacting with mojang accounts.

import minecraft_launcher_lib
import subprocess
import sys

# Set the data for your Azure Application here. For more information look at the documentation.
CLIENT_ID = "YOUR CLIENT ID"
REDIRECT_URL = "YOUR REDIRECT URL"

# Get latest version
latest_version = minecraft_launcher_lib.utils.get_latest_version()["release"]

# Get Minecraft directory
minecraft_directory = minecraft_launcher_lib.utils.get_minecraft_directory()

# Make sure, the latest version of Minecraft is installed
minecraft_launcher_lib.install.install_minecraft_version(latest_version, minecraft_directory)

# Login
login_url, state, code_verifier = minecraft_launcher_lib.microsoft_account.get_secure_login_data(CLIENT_ID, REDIRECT_URL)
print(f"Please open {login_url} in your browser and copy the url you are redirected into the prompt below.")
code_url = input()

# Get the code from the url
try:
    auth_code = minecraft_launcher_lib.microsoft_account.parse_auth_code_url(code_url, state)
except AssertionError:
    print("States do not match!")
    sys.exit(1)
except KeyError:
    print("Url not valid")
    sys.exit(1)

# Get the login data
login_data = minecraft_launcher_lib.microsoft_account.complete_login(CLIENT_ID, None, REDIRECT_URL, auth_code, code_verifier)

# Get Minecraft command
options = {
    "username": login_data["name"],
    "uuid": login_data["id"],
    "token": login_data["access_token"]
}
minecraft_command = minecraft_launcher_lib.command.get_minecraft_command(latest_version, minecraft_directory, options)

# Start Minecraft
subprocess.run(minecraft_command, cwd=minecraft_directory)

Features:

  • Easy installing
  • Get command to run Minecraft
  • Login to Microsoft account
  • Supports Forge, Fabric, Quilt, NeoForge and Liteloader
  • Old versions like alpha or beta supported
  • All functions have type annotations and docstrings
  • Only depents on requests
  • Supports PyPy
  • Full Documention with tutorial online available
  • Supports reading and writing profiles of the Vanilla Launcher
  • Install of mrpack modpacks
  • All public APIs are static typed
  • Examples available
  • OpenSource

View more examples

Read the documentation

Thanks to tomsik68 who documented how a minecraft launcher works

Buy me a coffe

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minecraft_launcher_lib-8.0.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minecraft_launcher_lib-8.0-py3-none-any.whl (61.6 kB view details)

Uploaded Python 3

File details

Details for the file minecraft_launcher_lib-8.0.tar.gz.

File metadata

  • Download URL: minecraft_launcher_lib-8.0.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for minecraft_launcher_lib-8.0.tar.gz
Algorithm Hash digest
SHA256 4ce173f2e1885c0d5bdf5ecebaa2f1ffc63140663c77699696689f3807b6bdb0
MD5 ef19f644559d6b61d18a611630c66f9f
BLAKE2b-256 1e68fdd869aea9f04fe1dc7f243df084a7e30843bed5776890f29ac0b85f213b

See more details on using hashes here.

File details

Details for the file minecraft_launcher_lib-8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for minecraft_launcher_lib-8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff17960c62e21ca7e21329303ae56bdefc0246de3bc9a5e1578dfa8df6604746
MD5 5df77d3029ba95a5bc82c61131bc8c21
BLAKE2b-256 4dffac903044f43558af87999dda35e7a3c31d278f766e83e484b24d572fdffe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page