Raw schema
{
"type": "object",
"properties": {
"forge_handle": {
"type": "string",
"description": "The forge_handle returned by enter_forge."
},
"parts": {
"type": [
"array",
"string"
],
"items": {
"type": "object",
"description": "One part. Example: {\"id\": \"helm\", \"role\": \"helm\", \"shape\": \"cylinder\", \"size\": {\"radius_top\": 0.13, \"radius_bottom\": 0.14, \"height\": 0.3}, \"position\": [0, 1.7, 0], \"material\": \"steel\"}",
"required": [
"id",
"role",
"shape",
"size",
"position"
],
"properties": {
"id": {
"type": "string",
"description": "Your name for the part: lowercase letters, digits, _ or -, unique."
},
"role": {
"type": "string",
"enum": [
"head",
"helm",
"visor",
"plume",
"torso",
"belt",
"arm",
"hand",
"leg",
"foot",
"pauldron",
"shield",
"emblem",
"cape",
"sword",
"scabbard",
"ornament"
]
},
"shape": {
"type": "string",
"enum": [
"box",
"cylinder",
"cone",
"sphere",
"capsule",
"torus",
"lathe",
"extrude",
"tube",
"armour"
]
},
"size": {
"type": "object",
"description": "Keys depend on shape: box: w, h, d; cylinder: radius_top, radius_bottom, height, arc; cone: radius, height, arc; sphere: radius, arc, top, bottom; capsule: radius, length; torus: radius, tube; lathe: points; extrude: outline, depth; tube: points, radius; armour: piece, style, w, h, d"
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"description": "[x, y, z] centre in metres"
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"description": "[x, y, z] degrees, optional"
},
"scale": {
"type": "array",
"items": {
"type": "number"
},
"description": "[x, y, z], optional"
},
"material": {
"type": "string",
"enum": [
"steel",
"blackened_steel",
"gold",
"bronze",
"leather",
"cloth",
"wood",
"fur",
"gem",
"stone"
]
},
"color": {
"type": "string",
"description": "#rrggbb, optional; overrides the material colour"
}
}
}
}
},
"required": [
"forge_handle",
"parts"
]
}