From cdf136dfb72fef10faedcb653c8898c088c8dc9e Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Thu, 5 Dec 2024 20:25:26 +0100 Subject: [PATCH] DynamicTrees compat! --- Better-Leaves-Lite-1.0.zip | Bin 425332 -> 429024 bytes .../blockstates/acacia_leaves.json | 66 ++++++++++++++++++ .../blockstates/azalea_leaves.json | 66 ++++++++++++++++++ .../blockstates/birch_leaves.json | 66 ++++++++++++++++++ .../blockstates/cherry_leaves.json | 66 ++++++++++++++++++ .../blockstates/dark_oak_leaves.json | 66 ++++++++++++++++++ .../blockstates/flowering_azalea_leaves.json | 66 ++++++++++++++++++ .../blockstates/jungle_leaves.json | 66 ++++++++++++++++++ .../blockstates/mangrove_leaves.json | 66 ++++++++++++++++++ .../dynamictrees/blockstates/oak_leaves.json | 66 ++++++++++++++++++ .../blockstates/pale_oak_leaves.json | 66 ++++++++++++++++++ .../blockstates/spruce_leaves.json | 66 ++++++++++++++++++ gen-pack.py | 20 +++++- input/overrides.json | 3 + 14 files changed, 747 insertions(+), 2 deletions(-) create mode 100644 assets/dynamictrees/blockstates/acacia_leaves.json create mode 100644 assets/dynamictrees/blockstates/azalea_leaves.json create mode 100644 assets/dynamictrees/blockstates/birch_leaves.json create mode 100644 assets/dynamictrees/blockstates/cherry_leaves.json create mode 100644 assets/dynamictrees/blockstates/dark_oak_leaves.json create mode 100644 assets/dynamictrees/blockstates/flowering_azalea_leaves.json create mode 100644 assets/dynamictrees/blockstates/jungle_leaves.json create mode 100644 assets/dynamictrees/blockstates/mangrove_leaves.json create mode 100644 assets/dynamictrees/blockstates/oak_leaves.json create mode 100644 assets/dynamictrees/blockstates/pale_oak_leaves.json create mode 100644 assets/dynamictrees/blockstates/spruce_leaves.json diff --git a/Better-Leaves-Lite-1.0.zip b/Better-Leaves-Lite-1.0.zip index 2be084cf2f10eb97d43dc88882c8d872fee3ebc7..b8080bf4c151e5d29d1cf70c88a847de036f88b2 100644 GIT binary patch delta 43131 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 delta 43038 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 AjsO4v diff --git a/assets/dynamictrees/blockstates/acacia_leaves.json b/assets/dynamictrees/blockstates/acacia_leaves.json new file mode 100644 index 0000000..8578b75 --- /dev/null +++ b/assets/dynamictrees/blockstates/acacia_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/acacia_leaves1" + }, + { + "model": "minecraft:block/acacia_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/acacia_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/acacia_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/acacia_leaves2" + }, + { + "model": "minecraft:block/acacia_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/acacia_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/acacia_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/acacia_leaves3" + }, + { + "model": "minecraft:block/acacia_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/acacia_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/acacia_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/acacia_leaves4" + }, + { + "model": "minecraft:block/acacia_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/acacia_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/acacia_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/azalea_leaves.json b/assets/dynamictrees/blockstates/azalea_leaves.json new file mode 100644 index 0000000..e05c38a --- /dev/null +++ b/assets/dynamictrees/blockstates/azalea_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/azalea_leaves1" + }, + { + "model": "minecraft:block/azalea_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/azalea_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/azalea_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/azalea_leaves2" + }, + { + "model": "minecraft:block/azalea_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/azalea_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/azalea_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/azalea_leaves3" + }, + { + "model": "minecraft:block/azalea_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/azalea_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/azalea_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/azalea_leaves4" + }, + { + "model": "minecraft:block/azalea_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/azalea_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/azalea_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/birch_leaves.json b/assets/dynamictrees/blockstates/birch_leaves.json new file mode 100644 index 0000000..28f5a7c --- /dev/null +++ b/assets/dynamictrees/blockstates/birch_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/birch_leaves1" + }, + { + "model": "minecraft:block/birch_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/birch_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/birch_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/birch_leaves2" + }, + { + "model": "minecraft:block/birch_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/birch_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/birch_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/birch_leaves3" + }, + { + "model": "minecraft:block/birch_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/birch_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/birch_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/birch_leaves4" + }, + { + "model": "minecraft:block/birch_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/birch_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/birch_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/cherry_leaves.json b/assets/dynamictrees/blockstates/cherry_leaves.json new file mode 100644 index 0000000..72dc49d --- /dev/null +++ b/assets/dynamictrees/blockstates/cherry_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/cherry_leaves1" + }, + { + "model": "minecraft:block/cherry_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/cherry_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/cherry_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/cherry_leaves2" + }, + { + "model": "minecraft:block/cherry_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/cherry_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/cherry_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/cherry_leaves3" + }, + { + "model": "minecraft:block/cherry_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/cherry_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/cherry_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/cherry_leaves4" + }, + { + "model": "minecraft:block/cherry_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/cherry_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/cherry_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/dark_oak_leaves.json b/assets/dynamictrees/blockstates/dark_oak_leaves.json new file mode 100644 index 0000000..3a60361 --- /dev/null +++ b/assets/dynamictrees/blockstates/dark_oak_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/dark_oak_leaves1" + }, + { + "model": "minecraft:block/dark_oak_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/dark_oak_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/dark_oak_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/dark_oak_leaves2" + }, + { + "model": "minecraft:block/dark_oak_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/dark_oak_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/dark_oak_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/dark_oak_leaves3" + }, + { + "model": "minecraft:block/dark_oak_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/dark_oak_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/dark_oak_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/dark_oak_leaves4" + }, + { + "model": "minecraft:block/dark_oak_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/dark_oak_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/dark_oak_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/flowering_azalea_leaves.json b/assets/dynamictrees/blockstates/flowering_azalea_leaves.json new file mode 100644 index 0000000..b7c6309 --- /dev/null +++ b/assets/dynamictrees/blockstates/flowering_azalea_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/flowering_azalea_leaves1" + }, + { + "model": "minecraft:block/flowering_azalea_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/flowering_azalea_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/flowering_azalea_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/flowering_azalea_leaves2" + }, + { + "model": "minecraft:block/flowering_azalea_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/flowering_azalea_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/flowering_azalea_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/flowering_azalea_leaves3" + }, + { + "model": "minecraft:block/flowering_azalea_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/flowering_azalea_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/flowering_azalea_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/flowering_azalea_leaves4" + }, + { + "model": "minecraft:block/flowering_azalea_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/flowering_azalea_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/flowering_azalea_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/jungle_leaves.json b/assets/dynamictrees/blockstates/jungle_leaves.json new file mode 100644 index 0000000..d7ac0c4 --- /dev/null +++ b/assets/dynamictrees/blockstates/jungle_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/jungle_leaves1" + }, + { + "model": "minecraft:block/jungle_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/jungle_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/jungle_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/jungle_leaves2" + }, + { + "model": "minecraft:block/jungle_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/jungle_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/jungle_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/jungle_leaves3" + }, + { + "model": "minecraft:block/jungle_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/jungle_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/jungle_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/jungle_leaves4" + }, + { + "model": "minecraft:block/jungle_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/jungle_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/jungle_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/mangrove_leaves.json b/assets/dynamictrees/blockstates/mangrove_leaves.json new file mode 100644 index 0000000..204cfa0 --- /dev/null +++ b/assets/dynamictrees/blockstates/mangrove_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/mangrove_leaves1" + }, + { + "model": "minecraft:block/mangrove_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/mangrove_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/mangrove_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/mangrove_leaves2" + }, + { + "model": "minecraft:block/mangrove_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/mangrove_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/mangrove_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/mangrove_leaves3" + }, + { + "model": "minecraft:block/mangrove_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/mangrove_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/mangrove_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/mangrove_leaves4" + }, + { + "model": "minecraft:block/mangrove_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/mangrove_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/mangrove_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/oak_leaves.json b/assets/dynamictrees/blockstates/oak_leaves.json new file mode 100644 index 0000000..b946965 --- /dev/null +++ b/assets/dynamictrees/blockstates/oak_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/oak_leaves1" + }, + { + "model": "minecraft:block/oak_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/oak_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/oak_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/oak_leaves2" + }, + { + "model": "minecraft:block/oak_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/oak_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/oak_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/oak_leaves3" + }, + { + "model": "minecraft:block/oak_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/oak_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/oak_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/oak_leaves4" + }, + { + "model": "minecraft:block/oak_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/oak_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/oak_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/pale_oak_leaves.json b/assets/dynamictrees/blockstates/pale_oak_leaves.json new file mode 100644 index 0000000..a7fb5fd --- /dev/null +++ b/assets/dynamictrees/blockstates/pale_oak_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/pale_oak_leaves1" + }, + { + "model": "minecraft:block/pale_oak_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/pale_oak_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/pale_oak_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/pale_oak_leaves2" + }, + { + "model": "minecraft:block/pale_oak_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/pale_oak_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/pale_oak_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/pale_oak_leaves3" + }, + { + "model": "minecraft:block/pale_oak_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/pale_oak_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/pale_oak_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/pale_oak_leaves4" + }, + { + "model": "minecraft:block/pale_oak_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/pale_oak_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/pale_oak_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/assets/dynamictrees/blockstates/spruce_leaves.json b/assets/dynamictrees/blockstates/spruce_leaves.json new file mode 100644 index 0000000..70b8355 --- /dev/null +++ b/assets/dynamictrees/blockstates/spruce_leaves.json @@ -0,0 +1,66 @@ +{ + "variants": { + "": [ + { + "model": "minecraft:block/spruce_leaves1" + }, + { + "model": "minecraft:block/spruce_leaves1", + "y": 90 + }, + { + "model": "minecraft:block/spruce_leaves1", + "y": 180 + }, + { + "model": "minecraft:block/spruce_leaves1", + "y": 270 + }, + { + "model": "minecraft:block/spruce_leaves2" + }, + { + "model": "minecraft:block/spruce_leaves2", + "y": 90 + }, + { + "model": "minecraft:block/spruce_leaves2", + "y": 180 + }, + { + "model": "minecraft:block/spruce_leaves2", + "y": 270 + }, + { + "model": "minecraft:block/spruce_leaves3" + }, + { + "model": "minecraft:block/spruce_leaves3", + "y": 90 + }, + { + "model": "minecraft:block/spruce_leaves3", + "y": 180 + }, + { + "model": "minecraft:block/spruce_leaves3", + "y": 270 + }, + { + "model": "minecraft:block/spruce_leaves4" + }, + { + "model": "minecraft:block/spruce_leaves4", + "y": 90 + }, + { + "model": "minecraft:block/spruce_leaves4", + "y": 180 + }, + { + "model": "minecraft:block/spruce_leaves4", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/gen-pack.py b/gen-pack.py index 5b8a51c..7d60f18 100644 --- a/gen-pack.py +++ b/gen-pack.py @@ -17,6 +17,7 @@ def autoGen(jsonData): overlay_textures = jsonData["overlayTextures"] block_id_overrides = jsonData["blockIds"] leaves_with_carpet = jsonData["leavesWithCarpet"] + dynamictrees_namespaces = jsonData["dynamicTreesNamespaces"] print("Generating assets...") if (os.path.exists("./assets")): shutil.rmtree("./assets") copy_tree("./base/assets/", "./assets/") @@ -92,8 +93,12 @@ def autoGen(jsonData): overlay_texture_id = overlay_textures[block_id] print ("-> Has overlay texture: "+overlay_texture_id) + dynamictrees_namespace = None + if (namespace) in dynamictrees_namespaces: + dynamictrees_namespace = dynamictrees_namespaces[namespace] + # Generate blockstates & models - generateBlockstateAndModel(block_id, base_model, texture_id, overlay_texture_id) + generateBlockstateAndModel(block_id, base_model, texture_id, overlay_texture_id, dynamictrees_namespace) generateItemModel(block_id, has_texture_override) if (block_id) in leaves_with_carpet: @@ -101,7 +106,7 @@ def autoGen(jsonData): generateCarpetAssets(carpet_id, hasNoTint, texture_id) print (f"-> Also generating leaf carpet: {carpet_id}") -def generateBlockstateAndModel(block_id, base_model, texture_id, overlay_texture_id): +def generateBlockstateAndModel(block_id, base_model, texture_id, overlay_texture_id, dynamictrees_namespace): mod_namespace = block_id.split(":")[0] block_name = block_id.split(":")[1] @@ -123,6 +128,17 @@ def generateBlockstateAndModel(block_id, base_model, texture_id, overlay_texture # Write blockstate file with open(block_state_file, "w") as f: json.dump(block_state_data, f, indent=4) + + # Do the same for the dynamic trees namespace + if dynamictrees_namespace != None: + dyntrees_block_state_file = f"assets/{dynamictrees_namespace}/blockstates/{block_name}.json" + # Create blockstates folder if it doesn't exist already + if not os.path.exists("assets/{}/blockstates/".format(dynamictrees_namespace)): + os.makedirs("assets/{}/blockstates/".format(dynamictrees_namespace)) + + # Write blockstate file + with open(dyntrees_block_state_file, "w") as f: + json.dump(block_state_data, f, indent=4) # Create models folder if it doesn't exist already diff --git a/input/overrides.json b/input/overrides.json index 6222995..903d593 100644 --- a/input/overrides.json +++ b/input/overrides.json @@ -21,5 +21,8 @@ "blockIds": { "terrestria:japanese_maple_leaves_dark": "terrestria:dark_japanese_maple_leaves", "terrestria:japanese_maple_leaves_green": "terrestria:japanese_maple_shrub_leaves" + }, + "dynamicTreesNamespaces": { + "minecraft": "dynamictrees" } } \ No newline at end of file