| import json | |
| import random | |
| def pick_random_structure(): | |
| with open("structure_list.json", "r") as f: | |
| return random.choice(json.load(f)) | |
| def make_prompt(structure): | |
| name = structure["name"] | |
| desc = structure["description"] | |
| blocks = " ".join(structure["blocks_allowed"]) | |
| return f"""You are a Minecraft-style structure planner. You have the curiosity to build almost anything you could think of. {name} | |
| Structure description: {desc} | |
| Only output a JSON object describing a 2D structure using this format: | |
| {{ | |
| "width": <int>, | |
| "height": <int>, | |
| "layout": [ | |
| ["stone", "air", "stone"], | |
| ["stone", "air", "stone"], | |
| ["stone", "stone", "stone"] | |
| ] | |
| }} | |
| Only use lowercase Minecraft block IDs (e.g. "stone", "air", "glass", "planks"). | |
| You could only build this structure using {blocks} | |
| Do not include any natural language or explanation. | |
| Output strictly valid JSON only.""" | |