diff --git a/Better-Leaves-Lite-1.0.zip b/Better-Leaves-Lite-1.0.zip index 2be084c..b8080bf 100644 Binary files a/Better-Leaves-Lite-1.0.zip and b/Better-Leaves-Lite-1.0.zip differ 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