A simple package to make creating Minecraft launchers easier.
Project description
Easy MC Launcher
Ein simples Python-Package, um ohne Kopfschmerzen eigene Minecraft-Launcher zu programmieren.
Wenn du schon mal versucht hast, einen Minecraft-Launcher von Grund auf neu zu schreiben, kennst du wahrscheinlich die Probleme: Man muss sich mit verschiedenen Java-Versionen herumschlagen, komplexe JSON-Dateien von Mojang parsen, gigantische Start-Parameter generieren und die Installation von Forge oder Fabric ist oft ein Albtraum.
Dieses Package ist ein intelligenter Wrapper um die Bibliothek minecraft-launcher-lib. Es versteckt die ganze komplizierte Logik und bietet dir einfach zu verstehende Befehle. Du sagst im Code einfach "Installiere Fabric" oder "Starte das Spiel und joine Server X", und das Package kümmert sich um den Rest.
Installation
pip install easy-mc-launcher
Code-Beispiele & Dokumentation
1. Die Basics: Vanilla Minecraft starten
Um das Spiel zu starten, musst du nur den Launcher initialisieren, grundlegende Einstellungen wie den RAM festlegen und die Start-Funktion aufrufen. Wenn Dateien oder Assets auf dem PC des Nutzers fehlen, lädt das Package sie automatisch von den Mojang-Servern herunter.
from easy_mc_launcher import EasyLauncher, SettingsManager
# Der SettingsManager speichert alle Einstellungen automatisch in einer launcher_settings.json Datei
settings = SettingsManager()
settings.set("username", "Notch")
settings.set("ram_max", "4G")
# Hauptklasse initialisieren
launcher = EasyLauncher()
# Lädt alles Nötige herunter und startet Minecraft 1.20.1
launcher.launch("1.20.1", settings)
2. Direkt auf einen Server verbinden
Wenn du einen Launcher für deinen eigenen Minecraft-Server baust, möchtest du wahrscheinlich, dass sich das Spiel beim Starten automatisch mit deinem Server verbindet. Das geht über die Launch-Parameter.
from easy_mc_launcher import EasyLauncher, SettingsManager
launcher = EasyLauncher()
settings = SettingsManager()
# Startet das Spiel und wirft den Spieler direkt auf den angegebenen Server
launcher.launch("1.20.1", settings, server_ip="mc.hypixel.net", server_port=25565)
3. Automatisch das richtige Java herunterladen
Ein sehr häufiges Problem bei Custom Launchern ist, dass Spieler nicht das richtige Java installiert haben (alte Versionen brauchen Java 8, neue Versionen Java 17 oder 21). Du kannst das exakt richtige Java einfach von Mojang in den lokalen .minecraft-Ordner laden lassen.
from easy_mc_launcher import EasyLauncher
launcher = EasyLauncher()
# Prüft, welches Java für 1.20.1 benötigt wird und lädt es herunter
launcher.install_java("1.20.1")
4. Forge oder Fabric installieren
Einen Modloader über reinen Code zu installieren, ist normalerweise extrem aufwendig. Hier reicht ein einziger Befehl.
from easy_mc_launcher import EasyLauncher, SettingsManager
launcher = EasyLauncher()
settings = SettingsManager()
# Installiert Fabric und gibt den Namen des neuen Profils zurück
# (z.B. 'fabric-loader-0.15.7-1.20.1')
fabric_version = launcher.install_fabric("1.20.1")
# Für Forge gibst du stattdessen die MC-Version und die Forge-Version an:
# forge_version = launcher.install_forge("1.20.1-47.1.0")
# Startet das Spiel mit dem neu installierten Modloader
launcher.launch(fabric_version, settings)
5. Mods per Code verwalten
Du kannst Mods dynamisch herunterladen, aktivieren, deaktivieren oder löschen. Das ist extrem nützlich, wenn du ein eigenes Modpack automatisch updaten willst, sobald der User den Launcher öffnet.
from easy_mc_launcher import EasyLauncher, ModManager
launcher = EasyLauncher()
# ModManager für den aktuellen Minecraft-Ordner initialisieren
mods = ModManager(launcher.minecraft_directory)
# Eine Mod über einen direkten Download-Link (z.B. von Modrinth) in den /mods Ordner laden
mods.download_mod("https://link-zur-mod.jar", "meine_mod.jar")
# Eine Mod deaktivieren (benennt sie in .jar.disabled um, sodass das Spiel sie beim Start ignoriert)
mods.disable_mod("meine_mod.jar")
# Die Mod wieder aktivieren
mods.enable_mod("meine_mod.jar")
# Liste aller aktiven Mods anzeigen
print("Aktive Mods:", mods.get_installed_mods())
6. Resource Packs verwalten
Genau wie bei den Mods kannst du auch Texturenpakete verwalten.
from easy_mc_launcher import EasyLauncher, ResourcePackManager
launcher = EasyLauncher()
packs = ResourcePackManager(launcher.minecraft_directory)
# Ein Texturenpaket direkt als ZIP in den richtigen Ordner herunterladen
packs.download_pack("https://link-zum-pack.zip", "MeinTexturenpaket.zip")
7. Versionen aufräumen & suchen
Du kannst alte Versionen löschen, um Speicherplatz auf dem PC der Nutzer freizumachen, oder einfach die allerneuste Version suchen, wenn du immer auf dem aktuellsten Stand sein willst.
from easy_mc_launcher import EasyLauncher
launcher = EasyLauncher()
# Gibt die aktuellste Vanilla-Release-Version zurück (z.B. '1.20.4')
print(launcher.get_latest_release())
# Löscht eine bestimmte Version komplett von der Festplatte
launcher.delete_version("1.19.2")
Die Einstellungen im Detail (SettingsManager)
Der SettingsManager ist dafür da, dass du dich nicht selbst um das Lesen und Schreiben von JSON-Dateien kümmern musst. Folgende Keys werden aktuell unterstützt:
"username": Der Ingame-Name des Spielers."uuid": Die Spieler-UUID. Wenn du diesen Key weglässt, generiert das Package automatisch eine saubere Offline-UUID aus dem Benutzernamen. Das hilft dabei, dass Skins auf manchen Offline-Servern richtig geladen werden."ram_min": Der minimal reservierte Arbeitsspeicher (z.B."1G")."ram_max": Der maximal reservierte Arbeitsspeicher (z.B."4G")."resolution": Die Fenstergröße beim Start (Standard:{"width": 854, "height": 480})."show_logs": Wenn du das aufTruesetzt, werden die Live-Logs von Minecraft direkt in dein Python-Terminal gestreamt. Hilft extrem bei der Fehlersuche, wenn das Spiel mal abstürzt."java_path": Optional. Hier kannst du den absoluten Pfad zu einer eigenenjavaw.exeerzwingen. Wenn du das leer lässt, sucht das Package selbst nach der besten Java-Version.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easy_mc_launcher-0.4.1.tar.gz.
File metadata
- Download URL: easy_mc_launcher-0.4.1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
267754c37a38307e8dd965b7f7146040a3dcb818d0b2ffdbfdf0d2908784c1bf
|
|
| MD5 |
0cbd2589090e106876b6f5a117e92d46
|
|
| BLAKE2b-256 |
2e16761e3b129ac3b9face3902d9ad5db627073bcaa7bac29ddfb293e630117d
|
File details
Details for the file easy_mc_launcher-0.4.1-py3-none-any.whl.
File metadata
- Download URL: easy_mc_launcher-0.4.1-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f04643d65ccc3f7009ad50f5c8dce6f73ec0c8b50833ccf3cf347c141a2b6b7d
|
|
| MD5 |
c4a061ff48c553e6c7d7ab42031c7173
|
|
| BLAKE2b-256 |
8fd9b2650b0e6fc2db9910e4da83b981c8ed834204cebb78824c6c9d316d670f
|