-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGameFileUri.py
More file actions
48 lines (41 loc) · 2.07 KB
/
Copy pathGameFileUri.py
File metadata and controls
48 lines (41 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from pathlib import Path
class GameFileUris:
__urls=[
{
"versionManifest":"http://launchermeta.mojang.com/mc/game/version_manifest.json",
"versionJson":"piston-meta.mojang.com",
"versionJar":"piston-data.mojang.com",
"libraries":"libraries.minecraft.net"
},
{
"versionManifest":"https://bmclapi2.bangbang93.com/mc/game/version_manifest.json",
"versionJson":"bmclapi2.bangbang93.com",
"versionJar":"bmclapi2.bangbang93.com",
"libraries":"bmclapi2.bangbang93.com/maven"
}
]
def __init__(self,minecraftPrefix) -> None:
self.__urlGroup=0
self.minecraftPrefix=Path(minecraftPrefix)
self.versionManifestDir=self.minecraftPrefix/Path("version_manifest.json")
self.librariesRoot=self.minecraftPrefix/Path("libraries")
self.assetsDir=self.minecraftPrefix/Path("assets")
def generateDir(self,version):
self.versionJsonDir=self.minecraftPrefix/Path("versions")/Path(version)/Path(version+".json")
self.versionJarDir=self.minecraftPrefix/Path("versions")/Path(version)/Path(version+".jar")
self.nativesDir=self.minecraftPrefix/Path("versions")/Path(version)/Path("natives")
self.nativesExtractDir=self.minecraftPrefix/Path("versions")/Path(version)/Path("natives")/Path("extract")
def genLibraryDir(self,libraryPath:str):
return self.librariesRoot/Path(libraryPath)
def setUrlGroup(self,group:int):
self.__urlGroup=group
def curUrlGroup(self):
return self.__urls[self.__urlGroup]
def genVersionJsonUrl(self,oriUIrl:str):
return oriUIrl.replace("piston-meta.mojang.com",self.curUrlGroup()["versionJson"])
def genVersionJarUrl(self,oriUIrl:str):
return oriUIrl.replace("piston-data.mojang.com",self.curUrlGroup()["versionJar"])
def getVersionManifestUrl(self):
return self.curUrlGroup()["versionManifest"]
def genLibraryUrl(self,oriUIrl:str):
return oriUIrl.replace("libraries.minecraft.net",self.curUrlGroup()["libraries"])