1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
/// An element of an end city
#[derive(PartialEq, Debug)]
pub struct EndCityElement {
/// The bounding box of the element
pub bounding_box: [i32;6],
/// The distance to the next start of the end city
pub generation_difference: i32,
/// The id of the element
///
/// # Note
///
/// Always "ECP" for end cities
pub id: String,
/// The orientation of the element
///
/// # Note
///
/// Always 2 for end city elements
pub orientation: i32,
/// Unknown ussage
///
/// # Note
/// `second_floor`, `second_floor_2`, `second_roof`, `third_floor` and `third_floor_c` are
/// always 0 everything else is 1
pub ow: i32,
/// The x position inside of the template
pub template_x: i32,
/// The y position inside of the template
pub template_y: i32,
/// The z position inside of the template
pub template_z: i32,
/// The roration of the element
pub rot: EndCityRotation,
/// The template name of the element
pub template: String,
}
/// A list of all rotation possibilities of an end city piece
#[derive(PartialEq, Eq, Debug)]
pub enum EndCityRotation {
/// No rotation
None,
/// 90 degree clockwise
Clockwise90,
/// 180 degree clockwise
Clockwise180,
/// 240 degree clockwise
Counterclockwise90,
}