use hurrycurry_protocol::{Gamedata, ItemIndex, Recipe, RecipeIndex}; use std::collections::HashMap; #[derive(Debug, Default)] pub struct GamedataIndex { pub recipe_passive_by_input: HashMap>, } impl GamedataIndex { pub fn update(&mut self, data: &Gamedata) { self.recipe_passive_by_input.clear(); for (ri, r) in data.recipes() { match r { Recipe::Passive { input, .. } => { self.recipe_passive_by_input .entry(*input) .or_default() .push(ri); } _ => (), } } } }