from dataclasses import dataclass from json import dump @dataclass class RandomItemStack: item: str count: int = 1 chance: float = 1 recipes: dict[str, list[RandomItemStack]] = { "ironchests:copper_chest": [ RandomItemStack("minecraft:chest", 1, 0.9), RandomItemStack("minecraft:copper_ingot", 6, 1), RandomItemStack("create:copper_nugget", 6, 0.75), ], "ironchests:iron_chest": [ RandomItemStack("ironchests:copper_chest", 1, 0.9), RandomItemStack("minecraft:iron_ingot", 6, 1), RandomItemStack("minecraft:iron_nugget", 6, 0.75), ], "ironchests:gold_chest": [ RandomItemStack("ironchests:iron_chest", 1, 0.9), RandomItemStack("minecraft:gold_ingot", 6, 1), RandomItemStack("minecraft:gold_nugget", 6, 0.75), ], "ironchests:diamond_chest": [ RandomItemStack("ironchests:golden_chest", 1, 0.9), RandomItemStack("minecraft:diamond", 2, 1), RandomItemStack("minecraft:gold_ingot", 4, 1), RandomItemStack("minecraft:gold_nugget", 6, 0.75), ], "ironchests:obsidian_chest": [ RandomItemStack("ironchests:diamond_chest", 1, 0.9), RandomItemStack("minecraft:obsidian", 6, 1), RandomItemStack("minecraft:obsidian", 2, 0.5), RandomItemStack("create:powdered_obsidian", 2, 0.25), ], "ironchests:crystal_chest": [ RandomItemStack("ironchests:diamond_chest", 1, 0.9), RandomItemStack("minecraft:glass", 3, 1), RandomItemStack("minecraft:glass", 3, 0.5), RandomItemStack("minecraft:amethyst_shard", 2, 0.75), ], } for input_name, outputs in recipes.items(): namespace, item_name = input_name.split(":", 1) filename = f"data/ironchests/recipes/crushing_{namespace}_{item_name}.json" with open(filename, "w") as fp: dump({ "type": "create:crushing", "ingredients": [{ "item": input_name }], "results": [ { "item": output.item, "count": output.count, "chance": output.chance } for output in outputs ], "processingTime": 300 }, fp, indent=2)