Base Scheduling Protocol
8/14/25About 3 min
Base Scheduling Protocol
Usage and field descriptions for resource/custom_infrast/*.json
Tips
Please note that JSON files do not support comments. The comments in this document are for demonstration purposes only. Do not copy them directly into your JSON files.
Visual Schedule Generator Tool
Complete Field Reference
{
"title": "小号的换班方案", // Task name, optional ("小号的换班方案" = "Alt Account Shift Plan")
"description": "哈哈哈哈", // Task description, optional ("哈哈哈哈" = "Hahaha")
"plans": [
{
"name": "早班", // Plan name, optional ("早班" = "Morning Shift")
"description": "lol", // Plan description, optional
"description_post": "", // Description displayed after plan execution, optional
"period": [
// Shift time period, optional
// If current time is within this range, this plan will be automatically selected (JSON file may contain multiple plans)
// If this field doesn't exist, automatically switches to the next plan after each shift ends
// Core doesn't process this field; if you're using MAA through integration, implement this logic yourself
[
"22:00", // Format required: hh:mm, currently just compares number sizes, for cross-day periods follow this example
"23:59"
],
[
"00:00",
"06:00"
]
],
"duration": 360, // Work duration (minutes), reserved field, currently not used. May be used for shift change reminders in the future
"Fiammetta": {
// Which operator to use "Fiammetta" on, optional, omit if not using
"enable": true, // Whether to use "Fiammetta", optional, default true
"target": "巫恋", // Target operator, uses OCR, requires operator name in client language ("巫恋" = "Shamare")
"order": "pre" // Use before entire shift change or after, optional, values "pre"/"post", default "pre"
},
"drones": {
// Drone usage, optional, omit if not using drones
"enable": true, // Whether to use drones, optional, default true
"room": "trading", // Which room type to use drones on, values "trading"/"manufacture"
"index": 1, // Which instance of that room type to use drones on, corresponds to left tab number, range [1, 5]
"rule": "all", // Usage rule, reserved field, currently not used. May support plug/unplug operations in future
"order": "pre" // Use before operator changes or after, optional, values "pre"/"post", default "pre"
},
"groups": [
// For "control"/"manufacture"/"trading", you can set operator groups
{
"name": "古+银", // ("古+银" = "Gummy+Silver")
"operators": ["古米", "银灰", "梅"] // ("古米" = "Gummy", "银灰" = "SilverAsh", "梅" = "Plum")
},
{
"name": "清流", // ("清流" = "Purestream")
"operators": ["清流", "森蚺", "温蒂"] // ("清流" = "Purestream", "森蚺" = "Eunectes", "温蒂" = "Weedy")
}
],
"rooms": {
// Room information, required
// Values: "control"/"manufacture"/"trading"/"power"/"meeting"/"hire"/"dormitory"/"processing"
// Missing rooms use default algorithm for shift change.
// To skip a room, use skip field or uncheck the facility in software Task Settings - Base Management - General Settings
"control": [
{
"operators": [
"夕", // Uses OCR, requires operator name in client language ("夕" = "Dusk")
"令", // ("令" = "Ling")
"凯尔希", // ("凯尔希" = "Kal'tsit")
"阿米娅", // ("阿米娅" = "Amiya")
"玛恩纳" // ("玛恩纳" = "Closure")
]
}
],
"manufacture": [
{
"operators": ["芬", "稀音", "克洛丝"], // ("芬" = "Fang", "稀音" = "Scene", "克洛丝" = "Kroos")
"sort": false // Whether to sort (by operators order above), optional, default false
// Example: When using Scene, Pallas, Shamare, etc. with "sort": false, operator order may be scrambled, losing warm-up effect.
// Using "sort": true can avoid this issue
},
{
"skip": true // Whether to skip current room (by array index), optional, default false
// If true, other fields can be empty. Only skips operator change operation, other actions like drone usage, clue exchange still occur
},
{
"operators": ["Castle-3"],
"autofill": true, // Use original algorithm to auto-fill remaining positions, optional, default false
// If operators is empty, room uses original algorithm completely
// If operators not empty, considers only single operator efficiency, not combination efficiency
// May conflict with custom operators defined later, e.g., using operators needed later, use cautiously or place autofill rooms last
"product": "Battle Record" // Current manufacturing product, optional.
// If detected facility product doesn't match task setting, UI will show red warning; may have more uses in future
// Values: "Battle Record"|"Pure Gold"|"Dualchip"|"Originium Shard"|"LMD"|"Orundum"
},
{
"operators": ["多萝西"], // ("多萝西" = "Dorothy")
"candidates": [
// Backup operators, optional. Uses whoever's available until positions filled
// Incompatible with autofill=true, i.e., autofill must be false when this array not empty
"星源", // ("星源" = "Astgenne")
"白面鸮", // ("白面鸮" = "Ptilopsis")
"赫默" // ("赫默" = "Silence")
]
},
{
"use_operator_groups": true, // Set true to use operator groups from groups field, default false
"operators": [
// When enabled, names in operators are interpreted as group names
"古+银", // Will select groups by mood threshold and setting order ("古+银" = "Gummy+Silver")
"清流" // If Gummy+Silver group has operators below threshold, will use Purestream group ("清流" = "Purestream")
]
}
],
"meeting": [
{
"autofill": true // Completely autofill this room
}
]
}
},
{
"name": "晚班" // ("晚班" = "Night Shift")
// ...
}
]
}