From 0ae30d1679e12642e7bc73dcc2df078c27644366 Mon Sep 17 00:00:00 2001 From: Alexander Hayden Date: Fri, 9 Nov 2018 20:38:13 -0500 Subject: Initial Commit --- downloads.txt | 34 ++++++++++++++++++++++++++++++++++ pack-location.txt | 1 + readme.md | 8 ++++++++ update.py | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 downloads.txt create mode 100644 pack-location.txt create mode 100644 readme.md create mode 100755 update.py diff --git a/downloads.txt b/downloads.txt new file mode 100644 index 0000000..ab240b1 --- /dev/null +++ b/downloads.txt @@ -0,0 +1,34 @@ +thaumcraft-01.jar https://minecraft.curseforge.com/projects/thaumcraft/files/2629023/download +baubles-01.jar https://minecraft.curseforge.com/projects/baubles/files/2518667/download +ae2-01.jar https://media.forgecdn.net/files/2630/108/appliedenergistics2-rv6-stable-3.jar +tech-reborn-01.jar https://media.forgecdn.net/files/2633/989/TechReborn-1.12.2-2.17.7.840-universal.jar +rftools-01.jar https://media.forgecdn.net/files/2616/385/rftools-1.12-7.56.jar +tinkers-01.jar https://media.forgecdn.net/files/2571/785/TConstruct-1.12.2-2.10.1.87.jar +enderio-01.jar https://media.forgecdn.net/files/2632/831/EnderIO-1.12.2-5.0.37.jar +bigreactors-01.jar https://media.forgecdn.net/files/2282/591/BigReactors-0.4.3A.jar +imersiveengineering-01.jar https://media.forgecdn.net/files/2625/312/ImmersiveEngineering-0.12-86.jar +thermalexpansion-01.jar https://media.forgecdn.net/files/2624/855/ThermalExpansion-1.12.2-5.5.2.39-universal.jar +thermaldynamics-01.jar https://media.forgecdn.net/files/2624/182/ThermalDynamics-1.12.2-2.5.3.16-universal.jar +wirelesscraftingterminal-01.jar https://media.forgecdn.net/files/2618/507/WirelessCraftingTerminal-1.12.2-3.9.68.jar +projectredcore-01.jar https://media.forgecdn.net/files/2572/409/MrTJPCore-1.12.2-2.1.3.35-universal.jar +projectred-01.jar https://media.forgecdn.net/files/2572/421/ProjectRed-1.12.2-4.9.1.92-world.jar +projectredcompat-01.jar https://media.forgecdn.net/files/2572/420/ProjectRed-1.12.2-4.9.1.92-compat.jar +projectredmech-01.jar https://media.forgecdn.net/files/2572/422/ProjectRed-1.12.2-4.9.1.92-mechanical.jar +projectredinteg-01.jar https://media.forgecdn.net/files/2572/427/ProjectRed-1.12.2-4.9.1.92-integration.jar +translocators-01.jar https://media.forgecdn.net/files/2594/249/Translocators-1.12.2-2.5.1.77-universal.jar +opencomputers-01.jar https://media.forgecdn.net/files/2540/146/OpenComputers-MC1.12.2-1.7.2.67.jar +jei-01.jar https://media.forgecdn.net/files/2635/239/jei_1.12.2-4.13.1.222.jar +thermalfoundation-01.jar https://media.forgecdn.net/files/2623/991/ThermalFoundation-1.12.2-2.6.1.22-universal.jar +chickenchunks-01.jar https://media.forgecdn.net/files/2594/241/ChickenChunks-1.12.2-2.4.1.73-universal.jar +enderstorage-01.jar https://media.forgecdn.net/files/2594/243/EnderStorage-1.12.2-2.4.5.135-universal.jar +codechickenlib-01.jar https://media.forgecdn.net/files/2618/630/CodeChickenLib-1.12.2-3.2.2.353-universal.jar +endercore-01.jar https://media.forgecdn.net/files/2632/476/EnderCore-1.12.2-0.5.43.jar +forgemultipart-01.jar https://media.forgecdn.net/files/2626/992/ForgeMultipart-1.12.2-2.6.0.79-universal.jar +cofhcore-01.jar https://media.forgecdn.net/files/2623/990/CoFHCore-1.12.2-4.6.1.22-universal.jar +mantle-01.jar https://media.forgecdn.net/files/2630/843/Mantle-1.12-1.3.3.39.jar +passwordlib-01.jar https://media.forgecdn.net/files/2616/338/p455w0rdslib-1.12-2.0.35.jar +cofhworld-01.jar https://media.forgecdn.net/files/2623/91/CoFHWorld-1.12.2-1.3.0.6-universal.jar +redstoneflux-01.jar https://media.forgecdn.net/files/2623/90/RedstoneFlux-1.12-2.1.0.6-universal.jar +projectredcore2-01.jar https://media.forgecdn.net/files/2572/423/ProjectRed-1.12.2-4.9.1.92-Base.jar +idklib-01.jar https://media.forgecdn.net/files/2626/982/mcjtylib-1.12-3.0.6.jar +reborncore-01.jar https://media.forgecdn.net/files/2634/706/RebornCore-1.12.2-3.10.4.348-universal.jar diff --git a/pack-location.txt b/pack-location.txt new file mode 100644 index 0000000..fe74e55 --- /dev/null +++ b/pack-location.txt @@ -0,0 +1 @@ +/home/alexander/.minecraft/alternate-versions/dylan-pack/mods diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..5ff9fd4 --- /dev/null +++ b/readme.md @@ -0,0 +1,8 @@ +## Git-Based Modpack Manager +--- + +Script to update modpacks automatically + +#### To Use + +Simply put the location of your `mods` folder in `pack-location.txt` diff --git a/update.py b/update.py new file mode 100755 index 0000000..11c6b4c --- /dev/null +++ b/update.py @@ -0,0 +1,39 @@ +#!/bin/python3 + +from urllib.request import urlretrieve +from os import listdir, remove +from shutil import rmtree + +INSTALL_DIR = "" +with open("pack-location.txt", "r") as f: + INSTALL_DIR = f.read().strip() + +DOWNLOADS = [] +NAMES = set() +FILES = listdir(INSTALL_DIR) + +with open("downloads.txt", "r") as f: + for line in f: + dl = line.strip().split(" ") + if len(line) > 3 and len(dl) == 2 and line[0] != '#': + dl[0] = dl[0].strip() + dl[1] = dl[1].strip() + DOWNLOADS.append(dl) + NAMES.add(dl[0]) + +print("Updating pack...") +for mod in DOWNLOADS: + if mod[0] in FILES: + print("Skipping " + mod[0] + ", already up-to-date") + else: + print("Installing " + mod[0] + " from " + mod[1] + "...") + urlretrieve(mod[1], INSTALL_DIR + "/" + mod[0]) + print("Done!") + +print("\nRemoving old versions...") +for jar in FILES: + if jar not in NAMES and jar[-4:] == ".jar": + remove(INSTALL_DIR + "/" + jar) + print("Removing '" + jar + "'") + +print("\nFinished updating pack!") -- cgit v1.2.3