pub fn block_from_structure(
    index: IndexRef<'_>,
    sblock: &StructureBlock,
    pos: Vec3<i32>,
    structure_pos: Vec2<i32>,
    structure_seed: u32,
    sample: &ColumnSample<'_>,
    with_sprite: impl FnMut(SpriteKind) -> Block,
    calendar: Option<&Calendar>,
    units: &Vec2<Vec2<i32>>
) -> Option<(Block, Option<SpriteCfg>)>