aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/download.py
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-06-21 18:33:17 -0500
committermat <github@matdoes.dev>2022-06-21 18:33:54 -0500
commit107f945a2383cb0f9ba8de458c7764e0afff026a (patch)
tree0d3489daf9993f6802011d07fe91a4869d9ffd60 /codegen/lib/download.py
parent405a00c0d1908a4b3fbd8e6684c77dfb178ac55d (diff)
downloadazalea-drasl-107f945a2383cb0f9ba8de458c7764e0afff026a.tar.xz
Add get_generator_mod_data
Uses u9g's mod: https://github.com/u9g/minecraft-data-generator-server
Diffstat (limited to 'codegen/lib/download.py')
-rw-r--r--codegen/lib/download.py37
1 files changed, 36 insertions, 1 deletions
diff --git a/codegen/lib/download.py b/codegen/lib/download.py
index e05d9a93..fbc4f749 100644
--- a/codegen/lib/download.py
+++ b/codegen/lib/download.py
@@ -19,12 +19,20 @@ def get_burger():
os.system('cd downloads/Burger && pip install six jawa')
+def get_generator_mod():
+ if not os.path.exists(get_dir_location('downloads/minecraft-data-generator-server')):
+ print('\033[92mDownloading u9g/minecraft-data-generator-server...\033[m')
+ os.system(
+ f'cd {get_dir_location("downloads")} && git clone https://github.com/u9g/minecraft-data-generator-server && cd minecraft-data-generator-server && git pull')
+ return get_dir_location('downloads/minecraft-data-generator-server')
+
+
def get_version_manifest():
if not os.path.exists(get_dir_location(f'downloads/version_manifest.json')):
print(
f'\033[92mDownloading version manifest...\033[m')
version_manifest_data = requests.get(
- 'https://launchermeta.mojang.com/mc/game/version_manifest.json').json()
+ 'https://piston-meta.mojang.com/mc/game/version_manifest_v2.json').json()
with open(get_dir_location(f'downloads/version_manifest.json'), 'w') as f:
json.dump(version_manifest_data, f)
else:
@@ -86,3 +94,30 @@ def get_mappings_for_version(version_id: str):
with open(get_dir_location(f'downloads/mappings-{version_id}.txt'), 'r') as f:
mappings_text = f.read()
return Mappings.parse(mappings_text)
+
+
+def get_yarn_versions():
+ # https://meta.fabricmc.net/v2/versions/yarn
+ if not os.path.exists(get_dir_location('downloads/yarn_versions.json')):
+ print('\033[92mDownloading yarn versions...\033[m')
+ yarn_versions_data = requests.get(
+ 'https://meta.fabricmc.net/v2/versions/yarn').json()
+ with open(get_dir_location('downloads/yarn_versions.json'), 'w') as f:
+ json.dump(yarn_versions_data, f)
+ else:
+ with open(get_dir_location('downloads/yarn_versions.json'), 'r') as f:
+ yarn_versions_data = json.load(f)
+ return yarn_versions_data
+
+
+def get_yarn_data(version_id: str):
+ for version in get_yarn_versions():
+ if version['gameVersion'] == version_id:
+ return version
+
+
+def clear_version_cache():
+ files = [
+ 'version_manifest.json',
+ 'yarn_versions.json'
+ ]