From ce30e048e8744150771e652f9b9fd14708b842e5 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Fri, 6 Dec 2024 18:53:00 +0100 Subject: [PATCH] Allow to easily generate versions for texturepacks --- Better-Leaves-Lite-1.0.zip | Bin 631505 -> 631505 bytes gen-pack.py | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/Better-Leaves-Lite-1.0.zip b/Better-Leaves-Lite-1.0.zip index ad248c093b10fadafb886631be62e8740376b0d6..6846c6d0be22d9ce6f6c25ad4380dccfd7e3a1a9 100644 GIT binary patch delta 41290 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 delta 41290 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 diff --git a/gen-pack.py b/gen-pack.py index 2b04965..b0c2b4a 100644 --- a/gen-pack.py +++ b/gen-pack.py @@ -29,8 +29,9 @@ def autoGen(jsonData): if (os.path.exists("./assets")): shutil.rmtree("./assets") copy_tree("./base/assets/", "./assets/") filecount = 0 + unpackTexturepacks() - for root, dirs, files in os.walk("./input"): + for root, dirs, files in os.walk("./input/assets"): for infile in files: if infile.endswith(".png") and (len(root.split("/")) > 3): namespace = root.split("/")[3] @@ -105,12 +106,40 @@ def autoGen(jsonData): filecount += 1 # End of autoGen print() + cleanupTexturepacks() printCyan("Processed {} leaf blocks".format(filecount)) +def unpackTexturepacks(): + for root, dirs, files in os.walk("./input/texturepacks"): + for infile in files: + if infile.endswith(".zip"): + print("Unpacking texturepack: "+infile) + zf = zipfile.ZipFile(os.path.join(root, infile), 'r') + zf.extractall(os.path.join(root, infile.replace(".zip", "_temp"))) + zf.close() + +def cleanupTexturepacks(): + for root, dirs, files in os.walk("./input/texturepacks"): + for folder in dirs: + if folder.endswith("_temp"): + shutil.rmtree(os.path.join(root, folder)) + +def scanPacksForTexture(baseRoot, baseInfile): + for root, dirs, files in os.walk("./input/texturepacks"): + for infile in files: + if "assets" in root and "assets" in baseRoot: + #print(root.split("assets")[1] + " -> " + infile + " | " + baseRoot.split("assets")[1] + " -> " + baseInfile) + if infile.endswith(".png") and (len(root.split("/")) > 3) and (baseInfile == infile) and (root.split("assets")[1] == baseRoot.split("assets")[1]): + printCyan(" Using texture from: " + root.split("assets")[0].replace("./input/texturepacks/", "")) + return root; + return baseRoot + def generateTexture(root, infile): outfolder = root.replace("assets", "").replace("input", "assets") os.makedirs(outfolder, exist_ok=True) + root = scanPacksForTexture(root, infile) + outfile = os.path.splitext(os.path.join(outfolder, infile))[0] + ".png" if infile != outfile: try: @@ -127,7 +156,7 @@ def generateTexture(root, infile): out.paste(vanilla, (int(width / 2 + width * x), int(height / 2 + height * y))) # As the last step, we apply our custom mask to round the edges and smoothen things out - mask = Image.open('input/mask.png').convert('L').resize(out.size) + mask = Image.open('input/mask.png').convert('L').resize(out.size, resample=Image.NEAREST) out = Image.composite(out, transparent, mask) # Finally, we save the texture to the assets folder