42 lines
1,018 B
Python
42 lines
1,018 B
Python
import json
|
|
|
|
RAW_ITEM_FILE = "run/raw/items.json"
|
|
RAW_REGISTRIES_FILE = "run/raw/registries.json"
|
|
|
|
OUTPUT_DIR = "run/datapacks/vanilla/data/minecraft/item"
|
|
|
|
def main():
|
|
raw_item_data = {}
|
|
raw_registry_data = []
|
|
|
|
with open(RAW_ITEM_FILE, "r") as item_file:
|
|
raw_item_data = json.load(item_file)
|
|
|
|
with open(RAW_REGISTRIES_FILE, "r") as registries_file:
|
|
raw_registry_data = json.load(registries_file)
|
|
|
|
|
|
|
|
total_items = len(raw_item_data)
|
|
i = 1
|
|
|
|
for id in raw_item_data:
|
|
print(f"Proccessing: {i}/{total_items}")
|
|
components = raw_item_data[id]["components"]
|
|
protocol_id = raw_registry_data["minecraft:item"]["entries"][id]["protocol_id"]
|
|
|
|
data = {
|
|
"protocol_id": protocol_id,
|
|
"components": components,
|
|
}
|
|
|
|
ident = id.split(":")[1]
|
|
|
|
with open(f"{OUTPUT_DIR}/{ident}.json", "w") as out_file:
|
|
json.dump(data, out_file, indent=4)
|
|
|
|
i += 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|