mirror of
https://github.com/TeamMidnightDust/BetterLeavesLite.git
synced 2025-12-15 12:05:09 +01:00
feat: download resourcepacks from Modrinth before compiling
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
/.alt
|
/.alt
|
||||||
|
/__pycache__
|
||||||
|
|||||||
Binary file not shown.
26
download_helper.py
Normal file
26
download_helper.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
from os import path
|
||||||
|
from tqdm import tqdm
|
||||||
|
import requests
|
||||||
|
|
||||||
|
def downloadFromModrinth(project_slug):
|
||||||
|
response = requests.get(f'https://api.modrinth.com/v2/project/{project_slug}/version')
|
||||||
|
latestFile = response.json()[0]['files'][0]
|
||||||
|
latestFileURL = latestFile['url']
|
||||||
|
if len(latestFileURL) < 1: raise Exception(f'Could not get the latest version URL for {project_slug}')
|
||||||
|
|
||||||
|
download_stream = requests.get(latestFileURL, stream=True)
|
||||||
|
file_name = latestFile['filename']
|
||||||
|
file_path = 'input/texturepacks'
|
||||||
|
|
||||||
|
print(f'Downloading texturepack: {project_slug} (Latest version: {file_name})')
|
||||||
|
location = path.join(file_path, file_name)
|
||||||
|
total = int(download_stream.headers.get('content-length', 0))
|
||||||
|
with open(location, "wb") as handle, tqdm(
|
||||||
|
unit="kB",
|
||||||
|
desc=file_name,
|
||||||
|
total=total,
|
||||||
|
unit_scale=True,
|
||||||
|
unit_divisor=1024,) as progressbar:
|
||||||
|
for data in download_stream.iter_content(chunk_size=1024):
|
||||||
|
size = handle.write(data)
|
||||||
|
progressbar.update(size)
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
"""This script can automatically generate blockstate and block model files, as well as textures for the Better Leaves Lite resourcepack."""
|
"""This script can automatically generate blockstate and block model files, as well as textures for the Better Leaves Lite resourcepack."""
|
||||||
|
|
||||||
|
# Depencency imports
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
@@ -13,6 +14,9 @@ import random
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
from distutils.dir_util import copy_tree
|
from distutils.dir_util import copy_tree
|
||||||
|
|
||||||
|
# Local imports
|
||||||
|
from download_helper import downloadFromModrinth
|
||||||
|
|
||||||
minify = False
|
minify = False
|
||||||
|
|
||||||
# Utility functions
|
# Utility functions
|
||||||
@@ -517,6 +521,7 @@ if __name__ == '__main__':
|
|||||||
parser.add_argument('--legacy', '-l', action='store_true', help="Use legacy models (from 8.1) for all leaves")
|
parser.add_argument('--legacy', '-l', action='store_true', help="Use legacy models (from 8.1) for all leaves")
|
||||||
parser.add_argument('--programmer', '-p', action='store_true', help="Use programmer art textures")
|
parser.add_argument('--programmer', '-p', action='store_true', help="Use programmer art textures")
|
||||||
parser.add_argument('--minify', '-m', action='store_true', help="Minify all JSON output files")
|
parser.add_argument('--minify', '-m', action='store_true', help="Minify all JSON output files")
|
||||||
|
parser.add_argument('--download', '-d', help="Downloads the requested resourcepack beforehand")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
print(f"Arguments: {args}")
|
print(f"Arguments: {args}")
|
||||||
@@ -525,6 +530,7 @@ if __name__ == '__main__':
|
|||||||
print("https://github.com/TeamMidnightDust/BetterLeavesLite")
|
print("https://github.com/TeamMidnightDust/BetterLeavesLite")
|
||||||
print()
|
print()
|
||||||
if args.minify: minify = True
|
if args.minify: minify = True
|
||||||
|
if args.download != None: downloadFromModrinth(args.download)
|
||||||
|
|
||||||
# Loads overrides from the json file
|
# Loads overrides from the json file
|
||||||
f = open('./input/overrides.json')
|
f = open('./input/overrides.json')
|
||||||
|
|||||||
Reference in New Issue
Block a user