cobble_core/minecraft/install/
install_options.rs

1use crate::minecraft::models::{AssetIndex, VersionData};
2use derive_builder::Builder;
3use std::path::PathBuf;
4
5/// Options for installing Minecraft.
6#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
7#[derive(Builder, Clone, Debug)]
8pub struct InstallOptions {
9    /// Minecraft version data
10    pub version_data: VersionData,
11    /// Minecraft asset index
12    pub asset_index: AssetIndex,
13    /// Path for libraries
14    pub libraries_path: PathBuf,
15    /// Path for native libraries
16    pub natives_path: PathBuf,
17    /// Path for assets
18    pub assets_path: PathBuf,
19    /// Path for log configs
20    pub log_configs_path: PathBuf,
21    /// Path for minecraft
22    pub minecraft_path: PathBuf,
23    /// Number of parallel downloads
24    #[builder(default = "4")]
25    pub parallel_downloads: u16,
26    /// Number of download retries
27    #[builder(default = "1")]
28    pub download_retries: u16,
29    /// Whether to verify downloads
30    #[builder(default = "true")]
31    pub verify_downloads: bool,
32}