LeviLamina
Loading...
Searching...
No Matches
BlockVolume.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Pos.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12// clang-format on
13
15public:
16 // BlockVolume inner types declare
17 // clang-format off
18 struct BlockVolumeIter;
19 // clang-format on
20
21 // BlockVolume inner types define
23 public:
24 // BlockVolumeIter inner types define
25 using difference_type = int64;
26
27 using iterator_category = ::std::forward_iterator_tag;
28
29 using pointer = ::std::pair<::Block const*, ::Pos> const*;
30
31 using reference = ::std::pair<::Block const*, ::Pos> const&;
32
33 using value_type = ::std::pair<::Block const*, ::Pos> const;
34
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<4, 12, ::Pos> pos;
39 ::ll::TypedStorage<4, 12, ::Pos> dims;
40 ::ll::TypedStorage<8, 8, ::buffer_span_mut<::Block const*>::iterator> blockIter;
41 // NOLINTEND
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 16, ::buffer_span_mut<::Block const*>> mBlocks;
48 ::ll::TypedStorage<4, 4, uint> mWidth;
49 ::ll::TypedStorage<4, 4, uint> mHeight;
50 ::ll::TypedStorage<4, 4, uint> mDepth;
51 ::ll::TypedStorage<4, 4, int> mDimensionBottom;
52 ::ll::TypedStorage<8, 8, ::Block const*> mInitBlock;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI ::std::unique_ptr<::std::vector<short>> computeHeightMap() const;
59
60 MCAPI short
61 getAboveTopSolidBlock(::BlockPos const& start, bool dimensionShowsSky, bool includeWater, bool includeLeaves) const;
62 // NOLINTEND
63};
Definition BlockPos.h:17
Definition BlockVolume.h:14
Definition Block.h:41
Definition BlockVolume.h:22