#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct Item {
pub name: &'static str,
pub icon: &'static str,
pub stack_size: i64,
pub icon_size: Option<i64>,
pub subgroup: Option<&'static str>,
pub order: Option<&'static str>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct RecipeIngredient {
pub name: &'static str,
pub amount: i64,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct RecipeProduct {
pub name: &'static str,
pub amount: i64,
}
#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub struct Recipe {
pub name: &'static str,
pub ingredients: &'static [RecipeIngredient],
pub results: &'static [RecipeProduct],
pub energy_required: Option<f64>,
pub category: Option<&'static str>,
pub enabled: Option<bool>,
pub subgroup: Option<&'static str>,
pub order: Option<&'static str>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct TechnologyUnitIngredient {
pub name: &'static str,
pub amount: i64,
}
#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub struct TechnologyUnit {
pub count: i64,
pub time: f64,
pub ingredients: &'static [TechnologyUnitIngredient],
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct UnlockRecipeEffect {
pub recipe: &'static str,
}
#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub struct Technology {
pub name: &'static str,
pub icon: &'static str,
pub icon_size: Option<i64>,
pub prerequisites: &'static [&'static str],
pub effects: &'static [UnlockRecipeEffect],
pub unit: TechnologyUnit,
pub order: Option<&'static str>,
}