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 BlockSource;
11class BoundingBox;
12class LevelChunk;
13class Random;
14class RoomDefinition;
15// clang-format on
16
17class OceanMonumentPiece : public ::StructurePiece {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<1, 1, bool> mDoFill;
22 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RoomDefinition>> mRoomDefinition;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 OceanMonumentPiece();
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) = 0;
33
34 virtual void postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
35
36 virtual int getWorldZ(int x, int z) /*override*/;
37
38 virtual int getWorldX(int x, int z) /*override*/;
39
40 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI OceanMonumentPiece(
47 int genDepth,
48 int& orientation,
49 ::std::shared_ptr<::RoomDefinition> roomDefinition,
50 int roomWidth,
51 int roomHeight,
52 int roomDepth
53 );
54
55 MCAPI void
56 generateDefaultFloor(::BlockSource& region, ::BoundingBox const& chunkBB, int xOff, int zOff, bool downOpening);
57
58 MCAPI void spawnElder(::BlockSource& region, ::BoundingBox const& chunkBB, int x, int y, int z);
59 // NOLINTEND
60
61public:
62 // static variables
63 // NOLINTBEGIN
64 MCAPI static int const& mLeftWingIndex();
65
66 MCAPI static int const& mPenthouseIndex();
67
68 MCAPI static int const& mRightWingIndex();
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor(
75 int genDepth,
76 int& orientation,
77 ::std::shared_ptr<::RoomDefinition> roomDefinition,
78 int roomWidth,
79 int roomHeight,
80 int roomDepth
81 );
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCFOLD void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
88
89 MCAPI int $getWorldZ(int x, int z);
90
91 MCAPI int $getWorldX(int x, int z);
92
93 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
94
95
96 // NOLINTEND
97};
Definition BlockSource.h:71
Definition BoundingBox.h:13
Definition LevelChunk.h:77
Definition Random.h:10
Definition RoomDefinition.h:5
Definition StructurePiece.h:18