minecraft_registry_api 1.4.2

Typed API clients for Minecraft modding platforms — Modrinth, Mojang, Paper, Purpur, Fabric, Forge, NeoForge
Documentation
use serde::Deserialize;
use std::collections::HashMap;

#[derive(Debug)]
pub struct InstallerQuery<'a> {
    pub mc_version: &'a str,
    pub forge_version: &'a str,
}

#[derive(Debug, Deserialize)]
pub struct ForgePromos {
    pub promos: HashMap<String, String>,
}

#[cfg(test)]
#[allow(clippy::unwrap_used)]
mod tests {
    use super::*;

    #[test]
    fn test_forge_promos_deserialize() {
        let json = serde_json::json!({
            "promos": {
                "1.21.4-recommended": "54.1.16",
                "1.21.4-latest": "54.1.19"
            }
        });
        let p: ForgePromos = serde_json::from_value(json).unwrap();
        assert_eq!(p.promos.get("1.21.4-recommended").unwrap(), "54.1.16");
    }
}