LeviLamina
Loading...
Searching...
No Matches
OceanMonumentPiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/StructurePiece.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockSource;
12class BoundingBox;
13class LevelChunk;
14class Random;
15class RoomDefinition;
16// clang-format on
17
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<1, 1, bool> mDoFill;
23 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RoomDefinition>> mRoomDefinition;
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 // vIndex: 4
34 virtual bool postProcess(::BlockSource&, ::Random&, ::BoundingBox const&) = 0;
35
36 // vIndex: 5
37 virtual void postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
38
39 // vIndex: 8
40 virtual int getWorldZ(int x, int z) /*override*/;
41
42 // vIndex: 7
43 virtual int getWorldX(int x, int z) /*override*/;
44
45 // vIndex: 12
46 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
47
48 // vIndex: 0
49 virtual ~OceanMonumentPiece() /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
56 int genDepth,
57 int& orientation,
58 ::std::shared_ptr<::RoomDefinition> roomDefinition,
59 int roomWidth,
60 int roomHeight,
61 int roomDepth
62 );
63
64 MCAPI bool chunkIntersects(::BoundingBox const& chunkBB, int x0, int z0, int x1, int z1);
65
66 MCAPI void generateBoxOnFillOnly(
67 ::BlockSource& region,
68 ::BoundingBox const& chunkBB,
69 int x0,
70 int y0,
71 int z0,
72 int x1,
73 int y1,
74 int z1,
75 ::Block const& targetBlock
76 );
77
78 MCAPI void
79 generateDefaultFloor(::BlockSource& region, ::BoundingBox const& chunkBB, int xOff, int zOff, bool downOpening);
80
81 MCAPI void spawnElder(::BlockSource& region, ::BoundingBox const& chunkBB, int x, int y, int z);
82 // NOLINTEND
83
84public:
85 // static variables
86 // NOLINTBEGIN
87 MCAPI static int& mGridroomLeftWingConnectIndex();
88
89 MCAPI static int& mGridroomRightWingConnectIndex();
90
91 MCAPI static int& mGridroomSourceIndex();
92
93 MCAPI static int& mGridroomTopConnectIndex();
94
95 MCAPI static int const& mLeftWingIndex();
96
97 MCAPI static int const& mPenthouseIndex();
98
99 MCAPI static int const& mRightWingIndex();
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(
106 int genDepth,
107 int& orientation,
108 ::std::shared_ptr<::RoomDefinition> roomDefinition,
109 int roomWidth,
110 int roomHeight,
111 int roomDepth
112 );
113 // NOLINTEND
114
115public:
116 // destructor thunk
117 // NOLINTBEGIN
118 MCAPI void $dtor();
119 // NOLINTEND
120
121public:
122 // virtual function thunks
123 // NOLINTBEGIN
124 MCFOLD void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
125
126 MCAPI int $getWorldZ(int x, int z);
127
128 MCAPI int $getWorldX(int x, int z);
129
130 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
131 // NOLINTEND
132
133public:
134 // vftables
135 // NOLINTBEGIN
136 MCNAPI static void** $vftable();
137 // NOLINTEND
138};
Definition BlockSource.h:66
Definition Block.h:37
Definition BoundingBox.h:13
Definition LevelChunk.h:77
Definition OceanMonumentPiece.h:18
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RoomDefinition.h:5
Definition StructurePiece.h:18