From c3f9581b5288f9ac5da2e6b385e3818265f6456b Mon Sep 17 00:00:00 2001 From: hkc Date: Wed, 22 May 2024 13:09:06 +0300 Subject: [PATCH] Added a way to specify seam texture via arg --- make.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/make.py b/make.py index 0f1addd..a584012 100644 --- a/make.py +++ b/make.py @@ -18,7 +18,6 @@ GLASS_OUTPUT_PATH = ( ) TEXTURES_PATH: str = "assets/minecraft/textures" -SEAM_TEXTURE_NAME: str = "block.dark_oak_planks" GLASS_COLORS: list[str] = [ "black", "blue", @@ -117,7 +116,7 @@ async def download_if_missing(url: str, path: Union[Path, str]): progress.advance(task, fout.write(chunk)) -async def main(): +async def main(seam_texture: str = "block.dark_oak_planks"): INPUT_PATH.mkdir(exist_ok=True) TEXTURES_CACHE.mkdir(exist_ok=True) GLASS_CACHE_SEAMLESS.mkdir(exist_ok=True) @@ -154,7 +153,7 @@ async def main(): fp_out.write(chunk) return out_path - extract_texture(SEAM_TEXTURE_NAME) + extract_texture(seam_texture) for color in GLASS_COLORS: extract_texture(f"block.{color}_stained_glass") @@ -183,7 +182,7 @@ async def main(): ox, oy = (i % 8) * 16, (i // 8) * 16 ctm_list.append(im.crop((ox, oy, ox + 16, oy + 16)).convert("1")) - border_texture = Image.open(TEXTURES_CACHE / f"{SEAM_TEXTURE_NAME}.png") + border_texture = Image.open(TEXTURES_CACHE / f"{seam_texture}.png") print("[ + ] Creating connected textures") for color in GLASS_COLORS: @@ -195,16 +194,18 @@ async def main(): fp.write(f"matchBlocks=seasonsextras:{texture_name}\n") fp.write(f"tiles=0-46\n") fp.write(f"connect=block\n") - fp.write(f"resourceCondition=seasonextras:textures/block/{texture_name}.png\n") + fp.write(f"resourceCondition=seasonsextras:textures/block/{texture_name}.png\n") with Image.open(GLASS_CACHE_SEAMLESS / f"{color}.png") as glass: for i in range(47): ctm = Image.composite(border_texture, glass, ctm_list[i]) ctm.save(out_path / f"{i}.png") + if i == 0: + ctm.save(OUTPUT_PATH / "assets/seasonsextras/textures/block/{texture_name}.png") with (OUTPUT_PATH / "pack.mcmeta").open("w") as fp: json.dump({ "pack": { "pack_format": 15, - "description": "CTM support for Fabric Seasons Extras. Also, nicer textures in general" + "description": f"CTM support for Fabric Seasons Extras. {seam_texture}" } }, fp, indent=2, ensure_ascii=False) @@ -214,4 +215,5 @@ async def main(): zipf.write(file, Path(*file.parts[1:])) if __name__ == "__main__": - asyncio.run(main()) + from sys import argv + asyncio.run(main(*argv[1:]))