Compare commits
No commits in common. "main" and "1.0" have entirely different histories.
13
README.md
13
README.md
@ -1,13 +1,2 @@
|
||||
# ModpackUpdate
|
||||
Программа которая обновляет моды Minecraft на новые версии, используя Modrinth и Curseforge
|
||||
|
||||
## Использование
|
||||

|
||||
1. Выберите версию, на которую будут обновлены моды
|
||||
2. Выберите ваш текущий загрузчик (Fabric/Forge)
|
||||
3. Выберите загрузчик на котором должны быть новые моды <br>
|
||||
${\color{silver}(к\spaceпримеру,\spaceс\spaceпомощью\spaceэтого\spaceможно\spaceперейти\spaceс\space Fabric\spaceна\space Forge,}$<br>
|
||||
${\color{silver}\spaceно\spaceесли\spaceвам\spaceэто\spaceне\spaceнадо,\spaceуказывайте\spaceтекущий\spaceзагрузчик)}$
|
||||
4. Выберите моды которые надо обновить
|
||||
5. Выберите папку куда надо записать обновленные моды
|
||||
6. Нажмите на кнопку начать и дождитесь конца загрузки
|
||||
Программа которая обновляет моды Minecraft, с помощью поиска на Modrinth и Curseforge
|
||||
|
@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
python -m nuitka --onefile --include-data-file=favicon.ico=favicon.ico --windows-icon-from-ico=favicon.ico --enable-plugin=tk-inter main.py
|
||||
explorer /select,"main.exe"
|
BIN
favicon.ico
BIN
favicon.ico
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
51
main.py
51
main.py
@ -25,6 +25,7 @@ def get_name(path,loader):
|
||||
return toml.loads(zip.read("META-INF/mods.toml").decode("utf8"))["mods"][0]["displayName"]
|
||||
elif loader == "fabric":
|
||||
return json.loads(zip.read("fabric.mod.json"))["name"]
|
||||
return None
|
||||
def find_mod(name,version,loader,regex_name):
|
||||
data = None
|
||||
md = _find_modrinth(name,version,loader,regex_name)
|
||||
@ -49,6 +50,7 @@ def _find_modrinth(query,version,loader,regex_query):
|
||||
params={"loaders":f'["{loader}"]',"game_versions":f'["{version}"]'}).json()
|
||||
if len(resp) > 0 and len(resp[0]["files"]) > 0:
|
||||
return [resp[0]["files"][0]["filename"],requests.get(resp[0]["files"][0]["url"]).content]
|
||||
return None
|
||||
def _find_curseforge(query,version,loader,regex_query):
|
||||
resp = requests.get("https://api.curseforge.com/v1/mods/search",
|
||||
headers={"x-api-key": "$2a$10$WldWeyy9nRXLI9Dbjyr7UuES2Dy9fvKbBfMmQHUwHWNR8daJA2FI.","Accept":"application/json"},
|
||||
@ -65,6 +67,7 @@ def _find_curseforge(query,version,loader,regex_query):
|
||||
params={"modLoaderType":loader.title(),"gameVersion":version}).json()["data"]
|
||||
if len(files) > 0:
|
||||
return [files[0]["fileName"],requests.get(files[0]["downloadUrl"]).content]
|
||||
return None
|
||||
|
||||
window = Tk()
|
||||
window.title("ModpackUpdate")
|
||||
@ -112,10 +115,7 @@ def install_fabric(version):
|
||||
path = temporaryFilename(suffix=".jar")
|
||||
with open(path,"wb") as f:
|
||||
f.write(requests.get("https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.2/fabric-installer-0.11.2.jar").content)
|
||||
os.system("start cmd /c java -jar "+path+" client -mcversion "+version)
|
||||
|
||||
def get_installer_fabric(version):
|
||||
return "0.11.2"
|
||||
os.system("java -jar "+path+" client -mcversion "+version)
|
||||
|
||||
def install_forge(version):
|
||||
url = {
|
||||
@ -145,35 +145,7 @@ def install_forge(version):
|
||||
path = temporaryFilename(suffix=".jar")
|
||||
with open(path,"wb") as f:
|
||||
f.write(requests.get(url).content)
|
||||
os.system("start javaw -jar "+path)
|
||||
|
||||
def get_installer_forge(version):
|
||||
versions = {
|
||||
'1.20.1':"47.1.0",
|
||||
'1.20':"46.0.14",
|
||||
'1.19.4':"45.1.0",
|
||||
'1.19.3':"44.1.0",
|
||||
'1.19.2':"43.2.0",
|
||||
'1.19.1':"42.0.9",
|
||||
'1.19':"41.1.0",
|
||||
'1.18.2':"40.2.0",
|
||||
'1.18.1':"39.1.0",
|
||||
'1.18':"38.0.17",
|
||||
'1.17.1':"37.1.1",
|
||||
'1.16.5':"36.2.34",
|
||||
'1.16.4':"35.1.4",
|
||||
'1.16.3':"34.1.0",
|
||||
'1.16.2':"33.0.61",
|
||||
'1.16.1':"32.0.108",
|
||||
'1.15.2':"31.2.57",
|
||||
'1.15.1':"30.0.51",
|
||||
'1.15':"29.0.4",
|
||||
'1.14.4':"28.2.26",
|
||||
'1.14.3':"27.0.60",
|
||||
'1.14.2':"26.0.63"
|
||||
}
|
||||
if version in versions:
|
||||
return versions[version]
|
||||
os.system("java -jar "+path)
|
||||
|
||||
def start_modsupdate():
|
||||
global pb,old_loader,loader,folder,files,versions,window,btn_start
|
||||
@ -262,18 +234,9 @@ def start_modsupdate():
|
||||
Button(resp_win, text='Открыть папку', command=open_folder, relief=FLAT).place(x=10,y=y+30)
|
||||
y += 35
|
||||
if newerModLoader == "forge":
|
||||
ins = get_installer_forge(version)
|
||||
if not (not ins):
|
||||
Button(resp_win, text='Установить Forge '+version+" "+ins,
|
||||
command=lambda:install_forge(version),
|
||||
relief=FLAT).place(x=10,y=y+30)
|
||||
Button(resp_win, text='Установить Forge', command=lambda:install_forge(version), relief=FLAT).place(x=10,y=y+30)
|
||||
elif newerModLoader == "fabric":
|
||||
ins = get_installer_fabric(version)
|
||||
if not (not ins):
|
||||
Button(resp_win,
|
||||
text='Установить Fabric '+version+" "+ins,
|
||||
command=lambda:install_fabric(version),
|
||||
relief=FLAT).place(x=10,y=y+30)
|
||||
Button(resp_win, text='Установить Fabric', command=lambda:install_fabric(version), relief=FLAT).place(x=10,y=y+30)
|
||||
|
||||
resp_win.geometry("350x"+str(y+90))
|
||||
resp_win.minsize(350,y+70)
|
||||
|
Loading…
Reference in New Issue
Block a user