Fixed the backup_mods function so it does not overwrite.

This commit is contained in:
2024-02-20 21:43:58 -05:00
parent 99c4b502f0
commit 876e413d8d

17
main.py
View File

@@ -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" forge_libraries_url = f"https://git.jisoonet.com/publicprojects/{forge_libraries_version}/-/archive/main/{forge_libraries_version}-main.zip"
# Backup folder for mods. # 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. # Modpack variables.
default_modpack_name = "apocaz-modpack" default_modpack_name = "apocaz-modpack"
@@ -65,16 +65,23 @@ def install_forge(forge_dir, forge_url):
else: else:
print("Forge is already installed.") 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. # Backups the mods from the mods folder to the backup folder.
def backup_mods(modpack_dir, mods_backup_dir): def backup_mods(modpack_dir, mods_backup_dir):
print("Backing up existing mods...") print("Backing up existing mods...")
if Path(modpack_dir).exists(): if Path(modpack_dir).exists():
if not Path(mods_backup_dir).exists(): os.makedirs(mods_backup_dir, exist_ok=True)
os.makedirs(mods_backup_dir)
for item in os.listdir(modpack_dir): for item in os.listdir(modpack_dir):
shutil.move(os.path.join(modpack_dir, item), mods_backup_dir) source_path = os.path.join(modpack_dir, item)
print(f"Existing mods backed up to {mods_backup_dir}") 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: else:
print("No mods directory found. No backup required.") print("No mods directory found. No backup required.")