Fixed the backup_mods function so it does not overwrite.
This commit is contained in:
17
main.py
17
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"
|
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.")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user