Potato/scripts/create_item_datapack.py
2025-04-05 00:06:22 +02:00

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()