diff --git a/assets/images/360Revived.png b/assets/images/360Revived.png
new file mode 100644
index 0000000..40d8961
Binary files /dev/null and b/assets/images/360Revived.png differ
diff --git a/assets/images/Revelation.jpg b/assets/images/Revelation.jpg
new file mode 100644
index 0000000..dbfdb85
Binary files /dev/null and b/assets/images/Revelation.jpg differ
diff --git a/assets/images/hellishends.jpg b/assets/images/hellishends.jpg
new file mode 100644
index 0000000..c9d33c6
Binary files /dev/null and b/assets/images/hellishends.jpg differ
diff --git a/assets/images/neoLegacy.png b/assets/images/neoLegacy.png
new file mode 100644
index 0000000..74a45aa
Binary files /dev/null and b/assets/images/neoLegacy.png differ
diff --git a/assets/images/portable-lce.png b/assets/images/portable-lce.png
new file mode 100644
index 0000000..5194f4e
Binary files /dev/null and b/assets/images/portable-lce.png differ
diff --git a/data/defaults_instances/360Revived.lce_inst b/data/defaults_instances/360Revived.lce_inst
index 1a2607c..45b875a 100644
--- a/data/defaults_instances/360Revived.lce_inst
+++ b/data/defaults_instances/360Revived.lce_inst
@@ -5,7 +5,7 @@
"archive_file": "LCEWindows64.zip",
"exe_name": "Minecraft.Client.exe",
"repo_url": "https://github.com/BluTac10/360Revived",
- "image" : ":/assets/minecraft.png",
+ "image" : ":/assets/360Revelation.png",
"news_feed" : "https://github.com/BluTac10/360Revived/commits/main/",
"instance_source": "InstanceSource.GITHUB_RELEASE",
"instance_type": "InstanceType.CLIENT_VANILLA",
diff --git a/data/defaults_instances/hellishends.lce_inst b/data/defaults_instances/hellishends.lce_inst
index dd59069..987a950 100644
--- a/data/defaults_instances/hellishends.lce_inst
+++ b/data/defaults_instances/hellishends.lce_inst
@@ -5,7 +5,7 @@
"archive_file": "LCEWindows64.zip",
"exe_name": "Minecraft.Client.exe",
"repo_url": "hhttps://github.com/deadvoxelx/HellishEnds",
- "image" : ":/assets/minecraft.png",
+ "image" : ":/assets/hellishends.png",
"news_feed" : "https://github.com/deadvoxelx/HellishEnds/commits/main/",
"instance_source": "InstanceSource.GITHUB_RELEASE",
"instance_type": "InstanceType.CLIENT_VANILLA",
diff --git a/data/defaults_instances/neoLegacy.lce_inst b/data/defaults_instances/neoLegacy.lce_inst
index 8b09863..def6443 100644
--- a/data/defaults_instances/neoLegacy.lce_inst
+++ b/data/defaults_instances/neoLegacy.lce_inst
@@ -3,7 +3,7 @@
"name": "pieeebot neoLegacy",
"instance_type": "InstanceType.CLIENT_VANILLA",
"instance_source": "InstanceSource.GITHUB_RELEASE",
- "image": ":/assets/lce-hub-ico.png",
+ "image": ":/assets/neoLegacy.png",
"archive_file": "neoLegacyWindows64.zip",
"exe_name": "neoLegacyWindows64/Minecraft.Client.exe",
"news_feed": "https://github.com/neoStudiosLCE/neoLegacy/commits/main/",
diff --git a/data/defaults_instances/revelation.lce_inst b/data/defaults_instances/revelation.lce_inst
index 3dd3de7..3f0436c 100644
--- a/data/defaults_instances/revelation.lce_inst
+++ b/data/defaults_instances/revelation.lce_inst
@@ -5,7 +5,7 @@
"archive_file": "LCE-Revelations-Client-Win64.zip",
"exe_name": "Minecraft.Client.exe",
"repo_url": "https://github.com/itsRevela/LCE-Revelations",
- "image" : ":/assets/minecraft.png",
+ "image" : ":/assets/Revelation.jpg",
"news_feed" : "https://github.com/itsRevela/LCE-Revelations/commits/main/",
"instance_source": "InstanceSource.GITHUB_RELEASE",
"instance_type": "InstanceType.CLIENT_VANILLA",
diff --git a/res.qrc b/res.qrc
index 1b3be98..4b3fd72 100644
--- a/res.qrc
+++ b/res.qrc
@@ -22,6 +22,11 @@
assets/images/piston.png
assets/images/aether.png
assets/images/jigsaw-ico.png
+ assets/images/neoLegacy.png
+ assets/images/360Revived.png
+ assets/images/Revelation.jpg
+ assets/images/portable-lce.png
+ assets/images/hellishends.jpg
assets/styles/minecraft.qss
diff --git a/src/form.ui b/src/form.ui
index 3b0abbd..1e43537 100644
--- a/src/form.ui
+++ b/src/form.ui
@@ -1113,26 +1113,46 @@
+
+
+ :/assets/neoLegacy.png:/assets/neoLegacy.png
+
Default (NeoLegacy)
+
+
+ :/assets/mclce-ico.png:/assets/mclce-ico.png
+
- MCLCE (Automatic Installation Coming Later)
+ MCLCE MinecraftConsoles
+
+
+ :/assets/Revelation.jpg:/assets/Revelation.jpg
+
Revelations
+
+
+ :/assets/360Revived.png:/assets/360Revived.png
+
360Revived
+
+
+ :/assets/hellishends.jpg:/assets/hellishends.jpg
+
HellishEnds
@@ -1141,11 +1161,19 @@
false
+
+
+ :/assets/portable-lce.png:/assets/portable-lce.png
+
Portable MCLE
+
+
+ :/assets/aether.png:/assets/aether.png
+
Aether
diff --git a/src/lce_qt_launcher/managers/instance_manager.py b/src/lce_qt_launcher/managers/instance_manager.py
index 9983616..0d2fb60 100644
--- a/src/lce_qt_launcher/managers/instance_manager.py
+++ b/src/lce_qt_launcher/managers/instance_manager.py
@@ -2,18 +2,15 @@
from __future__ import annotations
from typing import TYPE_CHECKING
-from PySide6.QtWidgets import QMessageBox
-
if TYPE_CHECKING:
from lce_qt_launcher.app_context import AppContext
from lce_qt_launcher.build_info import BuildInfo
-
import lce_qt_launcher.views.term_service as term_service
from PySide6.QtNetwork import QNetworkReply
-
from PySide6.QtCore import QObject
+from PySide6.QtWidgets import QMessageBox
from enum import Enum
from subprocess import TimeoutExpired
@@ -289,9 +286,7 @@ class Instance(QObject):
class InstanceManager:
"""_summary_ The Manager for Instances objects"""
- def __init__(
- self, instance: Instance, build_info: BuildInfo, appContext: AppContext
- ):
+ def __init__(self, instance: Instance, build_info: BuildInfo, appContext: AppContext):
self.instance: Instance = instance
from lce_qt_launcher.managers.downloader import Downloader
@@ -306,36 +301,26 @@ class InstanceManager:
"""
return_code: int = 0
try:
- client_path: str = os.path.join(
- self.instance.installation_path, self.instance.exe_name
- )
+ client_path: str = os.path.join(self.instance.installation_path, self.instance.exe_name)
try:
- game_process_temp = subprocess.run(
- [client_path, "-name", self.instance.username]
- )
+ game_process_temp = subprocess.run([client_path, "-name", self.instance.username])
return_code = game_process_temp.returncode
except subprocess.SubprocessError as e:
if os.name == "posix":
- game_process_temp = subprocess.run(
- ["wine", client_path, "-name", self.instance.username]
- )
+ game_process_temp = subprocess.run(["wine", client_path, "-name", self.instance.username])
return_code = game_process_temp.returncode
else:
QMessageBox.critical(None, "Instance Error", str(e.args))
except TimeoutExpired as err:
- term_service.print_error(
- f"process of lauching instance {self.instance.name} Failed. Reason : Timeout Expired.\n traceback : {err.with_traceback}"
- )
+ term_service.print_error(f"process of lauching instance {self.instance.name} Failed. Reason : Timeout Expired.\n traceback : {err.with_traceback}")
return f"process of lauching instance {self.instance.name} Failed. Reason : Timeout Expired.\n traceback : {err.with_traceback}"
except PermissionError as err:
- term_service.print_error(
- f"Cannot launch {self.instance.name}. Reason : Permission Denied.\n traceback : {err.with_traceback}"
- )
+ term_service.print_error(f"Cannot launch {self.instance.name}. Reason : Permission Denied.\n traceback : {err.with_traceback}")
return f"Cannot launch {self.instance.name}. Reason : Permission Denied.\n traceback : {err.with_traceback}"
else:
return f"Client closed with code {return_code}"
- def install_instance(self) -> QNetworkReply:
+ def install_instance(self) -> QNetworkReply | str:
"""_summary_ Install the selected Instance
Raises:
@@ -351,6 +336,9 @@ class InstanceManager:
InstanceSource.FORGEJO_RELEASE,
]:
return self._downloader.download_inst_async(self.instance)
+ if self.instance.instance_source == InstanceSource.REMOTE_GIT_SOURCE:
+ subprocess.run(["git", "clone", self.instance.repo_url, self.instance.installation_path])
+ return "git_operation_finished"
else:
raise RuntimeWarning(
"Not implemented YET"