chunkgen 0.2.0

Minecraft world generation library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use shulkr::util::BlockPosition;

pub fn between_closed(
    from: BlockPosition,
    to: BlockPosition,
) -> impl Iterator<Item = BlockPosition> {
    let min_x = from.x().min(to.x());
    let min_y = from.y().min(to.y());
    let min_z = from.z().min(to.z());
    let max_x = from.x().max(to.x());
    let max_y = from.y().max(to.y());
    let max_z = from.z().max(to.z());

    (min_z..=max_z).flat_map(move |z| {
        (min_y..=max_y).flat_map(move |y| (min_x..=max_x).map(move |x| BlockPosition::new(x, y, z)))
    })
}