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() { if let Recipe::Passive { input, .. } = r { self.recipe_passive_by_input .entry(*input) .or_default() .push(ri); } } } }