mirror of
				https://github.com/WarrenHood/MCModpackManager.git
				synced 2025-11-04 01:38:41 +00:00 
			
		
		
		
	Switched to using a BTreeMap instead of a HashMap to preserve toml ordering
This commit is contained in:
		
							parent
							
								
									1ead48cbc2
								
							
						
					
					
						commit
						c216873393
					
				
							
								
								
									
										1
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -3710,6 +3710,7 @@ version = "0.8.19"
 | 
			
		|||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_spanned",
 | 
			
		||||
 "toml_datetime",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,4 +16,4 @@ serde = { version = "1.0.207", features = ["derive"] }
 | 
			
		|||
sha2 = "0.10.8"
 | 
			
		||||
tempfile = "3.12.0"
 | 
			
		||||
tokio = { version = "1.39.2", features = ["full"] }
 | 
			
		||||
toml = "0.8.19"
 | 
			
		||||
toml = { version = "0.8.19", features = ["preserve_order"] }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@ use crate::mod_meta::{ModMeta, ModProvider};
 | 
			
		|||
use anyhow::Result;
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use std::{
 | 
			
		||||
    collections::{HashMap, HashSet},
 | 
			
		||||
    collections::{BTreeMap, HashSet},
 | 
			
		||||
    path::{Path, PathBuf},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ pub struct ModpackMeta {
 | 
			
		|||
    pub pack_name: String,
 | 
			
		||||
    pub mc_version: String,
 | 
			
		||||
    pub modloader: ModLoader,
 | 
			
		||||
    pub mods: HashMap<String, ModMeta>,
 | 
			
		||||
    pub mods: BTreeMap<String, ModMeta>,
 | 
			
		||||
    pub default_providers: Vec<ModProvider>,
 | 
			
		||||
    pub forbidden_mods: HashSet<String>,
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +56,7 @@ impl ModpackMeta {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn iter_mods(&self) -> std::collections::hash_map::Values<String, ModMeta> {
 | 
			
		||||
    pub fn iter_mods(&self) -> std::collections::btree_map::Values<String, ModMeta> {
 | 
			
		||||
        self.mods.values().into_iter()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
use anyhow::Result;
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use std::{
 | 
			
		||||
    collections::HashMap,
 | 
			
		||||
    error::Error,
 | 
			
		||||
    collections::BTreeMap,
 | 
			
		||||
    fmt::Display,
 | 
			
		||||
    path::{Path, PathBuf},
 | 
			
		||||
    str::FromStr,
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +79,7 @@ impl Profile {
 | 
			
		|||
/// User data and configs for the modpack manager
 | 
			
		||||
#[derive(Debug, Clone, Serialize, Deserialize)]
 | 
			
		||||
pub struct Data {
 | 
			
		||||
    profiles: HashMap<String, Profile>,
 | 
			
		||||
    profiles: BTreeMap<String, Profile>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Default for Data {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,7 @@ use anyhow::Result;
 | 
			
		|||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use sha2::{Digest, Sha512};
 | 
			
		||||
use std::{
 | 
			
		||||
    collections::{HashMap, HashSet},
 | 
			
		||||
    error::Error,
 | 
			
		||||
    collections::{BTreeMap, HashSet},
 | 
			
		||||
    ffi::{OsStr, OsString},
 | 
			
		||||
    path::{Path, PathBuf},
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +17,7 @@ const MODPACK_LOCK_FILENAME: &str = "modpack.lock";
 | 
			
		|||
 | 
			
		||||
#[derive(Serialize, Deserialize)]
 | 
			
		||||
pub struct PinnedPackMeta {
 | 
			
		||||
    mods: HashMap<String, PinnedMod>,
 | 
			
		||||
    mods: BTreeMap<String, PinnedMod>,
 | 
			
		||||
    #[serde(skip_serializing, skip_deserializing)]
 | 
			
		||||
    modrinth: Modrinth,
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue