Skip to content

Instantly share code, notes, and snippets.

@DragonDev1906
Created March 29, 2020 13:39
Show Gist options
  • Save DragonDev1906/33f78b9502f845f6e2e69fc297e46723 to your computer and use it in GitHub Desktop.
Save DragonDev1906/33f78b9502f845f6e2e69fc297e46723 to your computer and use it in GitHub Desktop.

Revisions

  1. DragonDev1906 created this gist Mar 29, 2020.
    36 changes: 36 additions & 0 deletions find_block.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    import os
    import json
    from overviewer_core.asset_loader import AssetLoader

    extracted_jar_path = "C:/Users/Jens/Documents/projects/Minecraft-Overviewer-working-dir/mc_jar_file"
    blockstates_path_format = "assets/minecraft/blockstates/{0}.json"
    model_path_format = "assets/minecraft/models/{0}.json"

    def print_data(name, data):
    print('#' * 50)
    print('{0}.json'.format(name).center(50))
    print('#'*50)
    print(json.dumps(data, indent=4))

    if __name__ == "__main__":
    print("Which block do you want?")
    block_name = input()

    asset_loader = AssetLoader(extracted_jar_path)

    blockstate_data = asset_loader.load_blockstates(block_name)
    print_data(block_name, blockstate_data)

    if not "variants" in blockstate_data:
    print("Can't load models for multipart blocks, yet!")
    sys.exit()

    model_list = set([
    variant["model"]
    for nbt_condition, variant in blockstate_data["variants"].items()
    if "model" in variant
    ])

    for model in model_list:
    model_data = asset_loader.load_and_combine_model(model)
    print_data(model, model_data)