{ "$schema": "http://json-schema.org/draft-07/schema", "title": "Maa Copilot Infrastructure", "type": "object", "properties": { "title": { "type": "string", "description": "The title of the Maa Copilot Infrastructure Plan" }, "description": { "type": "string", "description": "The description of the Maa Copilot Infrastructure Plan" }, "plans": { "type": "array", "description": "Plans list.", "items": { "$ref": "#/definitions/plans" } } }, "required": ["plans"], "definitions": { "operator": { "type": "string", "description": "Operator name in corresponding languages since MAA uses OCR to detect operator." }, "plans": { "type": "object", "description": "Plans for the infrastructure.", "properties": { "name": { "type": "string", "description": "Name of the plan." }, "description": { "type": "string", "description": "Description of the plan." }, "period": { "type": "array", "description": "Period list.", "items": { "$ref": "#/definitions/planPeriod" } }, "duration": { "type": "number", "description": "Duration of the plan. Reserved." }, "Fiammetta": { "type": "object", "$ref": "#/definitions/Fiammetta" }, "drones": { "type": "object", "$ref": "#/definitions/drones" }, "rooms": { "type": "object", "$ref": "#/definitions/rooms" } }, "required": ["rooms"] }, "planPeriod": { "type": "array", "description": "Period of the plan.", "items": { "$ref": "#/definitions/planPeriodTimeFormat" }, "minItems": 2, "maxItems": 2 }, "planPeriodTimeFormat": { "type": "string", "description": "Time notation in HH:MM format (24 hours format). For the next day, see MAA docs.", "pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$" }, "Fiammetta": { "type": "object", "description": "Fiammetta configuration.", "properties": { "enable": { "type": "boolean", "description": "Enable Fiammetta." }, "target": { "$ref": "#/definitions/operator" }, "order": { "type": "string", "description": "Order of the Fiammetta.", "anyOf": [ { "const": "pre", "description": "Before executing infrastructure plan." }, { "const": "post", "description": "After executing infrastructure plan." } ] } }, "required": ["enable", "target", "order"] }, "drones": { "type": "object", "description": "Drones configuration.", "properties": { "enable": { "type": "boolean", "description": "Enable drones." }, "room": { "type": "string", "description": "Target drons's usage.", "anyOf": [ { "const": "trading", "description": "Use drones in trading" }, { "const": "manufacture", "description": "Use drones in manufacture" } ] }, "index": { "type": "integer", "description": "Index of the infrastructure room.", "minimum": 0, "maximum": 9 }, "rule": { "type": "string", "description": "The usage of drones." }, "order": { "type": "string", "description": "Order of the Drones.", "anyOf": [ { "const": "pre", "description": "Before executing infrastructure plan." }, { "const": "post", "description": "After executing infrastructure plan." } ] } } }, "rooms": { "type": "object", "description": "All arknights infrastructure rooms.", "properties": { "control": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 1 }, "meeting": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 1 }, "hire": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 1 }, "manufacture": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 9 }, "trading": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 9 }, "power": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 9 }, "dormitory": { "type": "array", "items": { "$ref": "#/definitions/roomConfig" }, "maxItems": 4 } } }, "roomConfig": { "type": "object", "description": "Room configuration.", "properties": { "operators": { "type": "array", "description": "Operators list.", "items": { "$ref": "#/definitions/operator" }, "maxItems": 5 }, "sort": { "type": "boolean", "description": "Sort operators in the same order as listed in operators." }, "skip": { "type": "boolean", "description": "Skip this room or not." }, "autofill": { "type": "boolean", "description": "Autofill with default algorithm this room or not." }, "product": { "type": "string", "description": "Product name of this manufacture station", "anyOf": [ { "const": "Battle Record", "description": "Battle Record" }, { "const": "Pure Gold", "description": "Pure Gold" }, { "const": "Dualchip", "description": "Dualchip" }, { "const": "Originium Shard", "description": "Originium Shard" }, { "const": "LMD", "description": "Lungmen dollar" }, { "const": "Orundum", "description": "Orundum" } ] }, "candidates": { "type": "array", "items": { "$ref": "#/definitions/operator" } } } } } }