LeviLamina
Loading...
Searching...
No Matches
StructureStart.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/BoundingBox.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockSource;
11class Random;
12class StructurePiece;
13// clang-format on
14
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<4, 24, ::BoundingBox> boundingBox;
20 ::ll::TypedStorage<4, 4, int> chunkX;
21 ::ll::TypedStorage<4, 4, int> chunkZ;
22 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::StructurePiece>>> pieces;
23 ::ll::TypedStorage<4, 4, int> maxYSpawnOffset;
24 // NOLINTEND
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~StructureStart();
30
31 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
32
33 virtual bool isValid() const;
34
35 virtual int getMaxYSpawnOffset() const;
36
37 virtual ::std::string_view getStructureName() const = 0;
38 // NOLINTEND
39
40public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI void calculateBoundingBox();
44
45 MCAPI void moveBoundingBoxes(int yOffset);
46
47 MCAPI void moveInsideHeights(::Random& random, short lowestAllowed, short highestAllowed);
48
49 MCAPI void moveToBelowSeaLevel(short seaLevel, short minYPos, ::Random& random, int offset);
50 // NOLINTEND
51
52public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCAPI void $dtor();
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
62
63 MCFOLD bool $isValid() const;
64
65 MCFOLD int $getMaxYSpawnOffset() const;
66
67
68 // NOLINTEND
69
70public:
71 // vftables
72 // NOLINTBEGIN
73 MCNAPI static void** $vftable();
74 // NOLINTEND
75};
Definition BlockSource.h:72
Definition BoundingBox.h:13
Definition Random.h:10
Definition StructurePiece.h:21
Definition StructureStart.h:15
static MCAPI void ** $vftable()