Added a chek_minecraft_installation and backup_mods functions.

This commit is contained in:
2024-02-20 00:26:35 -05:00
parent ab1d6805ad
commit 0d3a88b62b

32
main.py
View File

@@ -1,23 +1,55 @@
import os import os
import shutil
import requests
from pathlib import Path
# Minecraft installation folder.
minecraft_dir = os.path.join(os.getenv('APPDATA'), ".minecraft") minecraft_dir = os.path.join(os.getenv('APPDATA'), ".minecraft")
# Forge variables.
default_forge_version = "1.12.2-forge-14.23.5.2859" default_forge_version = "1.12.2-forge-14.23.5.2859"
forge_version = input(f"Enter Forge version (default: {default_forge_version}), leave empty to choose default: ") or default_forge_version forge_version = input(f"Enter Forge version (default: {default_forge_version}), leave empty to choose default: ") or default_forge_version
forge_dir = os.path.join(minecraft_dir, f"versions/{forge_version}") forge_dir = os.path.join(minecraft_dir, f"versions/{forge_version}")
forge_url = f"https://git.jisoonet.com/publicprojects/{forge_version}/-/archive/main/{forge_version}-main.zip" forge_url = f"https://git.jisoonet.com/publicprojects/{forge_version}/-/archive/main/{forge_version}-main.zip"
# Forge libraries variables.
forge_libraries_version = forge_version.replace("forge-", "") forge_libraries_version = forge_version.replace("forge-", "")
forge_libraries_dir = os.path.join(minecraft_dir, f"libraries/net/minecraftforge/forge/{forge_libraries_version}") forge_libraries_dir = os.path.join(minecraft_dir, f"libraries/net/minecraftforge/forge/{forge_libraries_version}")
forge_libraries_url = f"https://git.jisoonet.com/publicprojects/{forge_libraries_version}/-/archive/main/{forge_libraries_version}-main.zip" forge_libraries_url = f"https://git.jisoonet.com/publicprojects/{forge_libraries_version}/-/archive/main/{forge_libraries_version}-main.zip"
# Backup folder for mods.
mods_backup_dir = os.path.join(minecraft_dir, "mods_backup") mods_backup_dir = os.path.join(minecraft_dir, "mods_backup")
# Modpack variables.
default_modpack_name = "apocaz-modpack" default_modpack_name = "apocaz-modpack"
modpack_name = input(f"Enter Modpack name (default: {default_modpack_name}), leave empty to choose default: ") or default_modpack_name modpack_name = input(f"Enter Modpack name (default: {default_modpack_name}), leave empty to choose default: ") or default_modpack_name
modpack_dir = os.path.join(minecraft_dir, "mods") modpack_dir = os.path.join(minecraft_dir, "mods")
modpack_url = f"https://git.jisoonet.com/publicprojects/{modpack_name}/-/archive/main/{modpack_name}-main.zip" modpack_url = f"https://git.jisoonet.com/publicprojects/{modpack_name}/-/archive/main/{modpack_name}-main.zip"
# Function to check for the prescence of Minecraft installation folder.
def check_minecraft_installation(minecraft_dir):
print("Checking for existing Minecraft installation...")
if not Path(minecraft_dir).exists():
print("Error: Minecraft not found. Please install Minecraft first.")
else:
print("Minecraft is already installed.")
# Backups the mods from the mods folder to the backup folder.
def backup_mods(modpack_dir, mods_backup_dir):
print("Backing up existing mods...")
if Path(modpack_dir).exists():
if not Path(mods_backup_dir).exists():
os.makedirs(mods_backup_dir)
for item in os.listdir(modpack_dir):
shutil.move(os.path.join(modpack_dir, item), mods_backup_dir)
print(f"Existing mods backed up to {mods_backup_dir}")
else:
print("No mods directory found. No backup required.")
# Entry point of the script. # Entry point of the script.
def main(): def main():