diff --git a/main.py b/main.py index c2885b2..3df5a18 100644 --- a/main.py +++ b/main.py @@ -21,7 +21,7 @@ forge_libraries_dir = os.path.join(minecraft_dir, f"libraries/net/minecraftforge 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" @@ -65,16 +65,23 @@ def install_forge(forge_dir, forge_url): else: print("Forge is already installed.") +# Installs forge files and places them in the correct version folder. + # 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) + os.makedirs(mods_backup_dir, exist_ok=True) 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}") + source_path = os.path.join(modpack_dir, item) + destination_path = os.path.join(mods_backup_dir, item) + if not os.path.exists(destination_path): + shutil.move(source_path, destination_path) + else: + os.remove(source_path) + print(f"Duplicate found, not moving '{item}'.") + print(f"Mods backed up to '{mods_backup_dir}'.") else: print("No mods directory found. No backup required.")