Infrastructure Schedule Schema
About 3 min
Infrastructure Schedule Schema
This document is primarily machine-translated. If you have the ability, please take a look at the Chinese version. We would greatly appreciate any errors or suggestions for improvement.
Usage and Field Description for resource/custom_infrast/*.json
files
Tips
As the JSON format does not support comments, please remove them when using the examples below.
Visual Schedule Generation Tool
Complete Field List
{
"title": "小号的换班方案", // Assignment name, optional
"description": "哈哈哈哈", // Assignment description, optional
"plans": [
{
"name": "早班", // Plan name, optional
"description": "lol", // Plan description, optional
"description_post": "", // The description to display after executing the plan, optional
"period": [ // Shift change period, optional
// If the current time is within this interval, the plan will be automatically selected (there may be multiple plans in the entire JSON file)
// If this field does not exist, it will automatically switch to the next plan after each run.
// Core does not process this field. If you are using interface integration with MAA, please implement this logic on your own
[
"22:00", // In the hh:mm format, currently only simple numerical comparison is used. If it crosses midnight, please refer to the example in this file
"23:59"
],
[
"00:00",
"06:00"
]
],
"duration": 360, // Work duration (in minutes), reserved field, currently unused. In the future, there may be reminders or automatic shift changes when the time comes
"Fiammetta": { // Which operator is using "Fiammetta", optional, not required if not in use
"enable": true, // Whether to use "Fiammetta", optional, default is true
"target": "巫恋", // Target operator, which is obtained through OCR and needs to be passed in the name of the operator in the corresponding client language
"order": "pre", // Whether to use it before or after the entire shift change, optional, with a value range of "pre" / "post", default is "pre"
},
"drones": { // For using drones. Optional. If not specified, drones won't be used.
"enable": true, // Whether to use drones. Optional. The default is true.
"room": "trading", // Which type of room to use drones for. Possible values: "trading" / "manufacture"
"index": 1, // The index of the room to use drones for. Corresponds to the tab on the left. Possible values: [1, 5].
"rule": "all", // Usage rules. Reserved field. Currently unused, but may be used in the future to support plug-ins and other operations.
"order": "pre" // Whether to use drones before or after changing operators. Optional. Possible values: "pre" / "post". Default is "pre".
},
"groups":[ // For "control" / "manufacture" / "trading", operator groups can be set
{
"name":"A",
"operators":[
"古米",
"银灰",
"梅"
]
},
{
"name":"B",
"operators":[
"清流",
"森蚺",
"温蒂"
]
}
],
"rooms": { // Room information. Required.
// Possible values: "control" / "manufacture" / "trading" / "power" / "meeting" / "hire" / "dormitory" / "processing".
// If a room is not specified, the default algorithm will be used to change operators.
// To avoid changing operators in a specific room, use the "skip" field, or uncheck the corresponding facility in the software's infrastructure settings.
"control": [
{
"operators": [ // The operators assigned to this room. Identified through OCR. Must be passed in the corresponding client language.
"夕",
"令",
"凯尔希",
"阿米娅",
"玛恩纳"
]
}
],
"manufacture": [
{
"operators": [ // The operators assigned to this room.
"芬",
"稀音",
"克洛丝"
],
"sort": false, // Whether to sort the operators according to the above order. Optional. Default is false.
// For example: if using operators like "稀音", "帕拉斯", "巫恋", etc. and "sort": false, the order of operators may be disrupted, leading to a loss of preheating effect.
// If "sort": true is used, this issue can be avoided.
},
{
"skip": true // Whether to skip this room (corresponding to the array index). Optional. Default is false.
// If true, all other fields can be empty. Only the operator change will be skipped. Other actions, such as drone usage and clue exchange, will proceed as usual.
},
{
"operators": [
"Castle-3"
],
"autofill": true, // Use the original algorithm to automatically fill the remaining positions. Optional, default to false.
// If the operator's array is empty, the scheduling of the entire room will be based on the original algorithm.
// If the operator's array is not empty, only the efficiency of individual operators will be considered, not the efficiency of the entire combination.
// Be careful that conflicts may arise with the custom operators defined later, for example, if the operators needed later are used here; please use it with caution, or place the autofill room order at the end.
"product": "Battle Record" // The current manufactured product, optional.
// If the product recognized by the facility does not match the one set in the task, the interface will display a red warning message. More functions may be added in the future.
// Possible values: "Battle Record" | "Pure Gold" | "Dualchip" | "Originium Shard" | "LMD" | "Orundum"
},
{
"operators": [
"多萝西"
],
"candidates": [ // Optional backup operators. Use whoever is listed until all positions are filled.
// Not compatible with autofill=true. When this array is not empty, autofill should be set to false.
"星源",
"白面鸮",
"赫默"
]
},
{
"use_operator_groups":true, // Set to true to use the grouping of operators in groups, default is false
"operators":[ // When enabled, names in operators will be interpreted as group names
"A", // Grouping will be selected according to mood threshold and setting order
"B" // If any operator in group A whose mood is below the threshold, group B will be used
]
}
],
"meeting": [
{
"autofill": true // Use autofill for the entire room.
}
]
}
},
{
"name": "晚班"
// ...
}
]
}