pub trait Archetype {
    type Attr;

    // Required methods
    fn generate<R: Rng>(
        rng: &mut R,
        calendar: Option<&Calendar>
    ) -> (Self, Skeleton<Self::Attr>)
       where Self: Sized;
    fn draw(
        &self,
        index: IndexRef<'_>,
        pos: Vec3<i32>,
        dist: i32,
        bound_offset: Vec2<i32>,
        center_offset: Vec2<i32>,
        z: i32,
        ori: Ori,
        locus: i32,
        len: i32,
        attr: &Self::Attr
    ) -> BlockMask;
}

Required Associated Types§

Required Methods§

source

fn generate<R: Rng>( rng: &mut R, calendar: Option<&Calendar> ) -> (Self, Skeleton<Self::Attr>)
where Self: Sized,

source

fn draw( &self, index: IndexRef<'_>, pos: Vec3<i32>, dist: i32, bound_offset: Vec2<i32>, center_offset: Vec2<i32>, z: i32, ori: Ori, locus: i32, len: i32, attr: &Self::Attr ) -> BlockMask

Implementors§