factorio_blueprint/examples/train_blueprint.rs

44 lines
1.1 KiB
Rust

use factorio_blueprint::blueprint::{
train::generate_train, BlueprintBook, BlueprintBookEntry, BlueprintString,
};
fn main() {
let layouts = [
(1, 1),
(1, 2),
(1, 4),
(2, 4),
(1, 8),
(2, 8),
(3, 8),
(4, 8),
];
let mut b = Vec::new();
for (i, (locomotives, wagons)) in layouts.into_iter().enumerate() {
b.push(BlueprintBookEntry::new(
BlueprintString::Blueprint(generate_train(locomotives, wagons, true, false)),
i as u32 * 2,
));
b.push(BlueprintBookEntry::new(
BlueprintString::Blueprint(generate_train(locomotives, wagons, true, true)),
i as u32 * 2 + 1,
));
}
let b = BlueprintString::BlueprintBook(
BlueprintBook::builder()
.blueprints(b)
.active_index(0)
.version(562949954797573)
.build(),
);
println!("{}", serde_json::to_string_pretty(&b).unwrap());
println!(
"{}",
factorio_blueprint::blueprint::encode(&serde_json::to_string(&b).unwrap())
);
}