use yog_ids::Format;
#[derive(Debug, Clone, Default)]
pub(in crate::content) struct BlockProps {
pub(in crate::content) hardness: Option<f64>,
pub(in crate::content) resistance: Option<f64>,
pub(in crate::content) sound: Option<String>,
pub(in crate::content) light: u8,
pub(in crate::content) tools: Vec<String>,
pub(in crate::content) tool_level: Option<(String, usize)>,
pub(in crate::content) requires_tool: bool,
pub(in crate::content) no_collision: bool,
pub(in crate::content) slipperiness: Option<f64>,
pub(in crate::content) shape: Option<[f64; 6]>,
pub(in crate::content) connect_groups: Vec<String>,
pub(in crate::content) connects: bool,
pub(in crate::content) facing: Option<yog_registry::Facing>,
pub(in crate::content) placement: yog_registry::Placement,
pub(in crate::content) attach: bool,
pub(in crate::content) waterlogged: bool,
pub(in crate::content) properties: Vec<(String, Vec<String>)>,
pub(in crate::content) powered: Option<String>,
pub(in crate::content) comparator: Option<String>,
pub(in crate::content) accepts_items: bool,
pub(in crate::content) inventory: Option<String>,
pub(in crate::content) redstone: bool,
pub(in crate::content) no_occlusion: bool,
pub(in crate::content) kind: String,
pub(in crate::content) base: Option<String>,
pub(in crate::content) set: Option<String>,
pub(in crate::content) press_ticks: Option<u32>,
pub(in crate::content) mobs_only: bool,
}
#[derive(Debug, Clone, Default)]
pub(in crate::content) struct ItemProps {
pub(in crate::content) stack_size: Option<u8>,
pub(in crate::content) durability: u32,
pub(in crate::content) fire_resistant: bool,
pub(in crate::content) fuel_ticks: u32,
pub(in crate::content) food: Option<(u32, f64, bool)>,
pub(in crate::content) tool: Option<(String, String, Option<f32>, Option<f32>)>,
pub(in crate::content) armor: Option<(yog_registry::ArmorSlot, String)>,
pub(in crate::content) wearable: Option<yog_registry::ArmorSlot>,
pub(in crate::content) hangs: Option<(String, Option<[u32; 2]>)>,
}
#[derive(Debug, Clone)]
pub(in crate::content) struct Entry {
pub(in crate::content) kind: Format,
pub(in crate::content) id: String,
pub(in crate::content) file: String,
pub(in crate::content) auto: bool,
pub(in crate::content) requires: Vec<String>,
pub(in crate::content) block: BlockProps,
pub(in crate::content) item: ItemProps,
pub(in crate::content) potion: Option<yog_registry::PotionDef>,
}