LeviLamina
Loading...
Searching...
No Matches
PoolElementStructureSection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Rotation.h"
7#include "mc/world/level/BlockPos.h"
8#include "mc/world/level/levelgen/structure/structurepools/JigsawReplacement.h"
9#include "mc/world/level/levelgen/v2/LiquidSettings.h"
10#include "mc/world/level/levelgen/v2/StructureSection.h"
11#include "mc/world/level/levelgen/v2/terrain_adjustment/Type.h"
12
13// auto generated forward declare list
14// clang-format off
15class BlockSource;
16class BoundingBox;
17class IRandom;
18class Random;
20namespace SharedTypes::v1_21_50 { struct PoolElementStructureSection; }
21namespace br::worldgen { struct JigsawJunction; }
22namespace br::worldgen { struct Rigid; }
23// clang-format on
24
25namespace br::worldgen {
26
27class PoolElementStructureSection : public ::br::worldgen::StructureSection {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::StructurePoolElement const*> mElement;
32 ::ll::TypedStorage<4, 4, int> mGroundOffset;
33 ::ll::TypedStorage<1, 1, ::Rotation> mRot;
34 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
35 ::ll::TypedStorage<8, 24, ::std::vector<::br::worldgen::JigsawJunction>> mJunctions;
36 ::ll::TypedStorage<1, 1, ::br::worldgen::LiquidSettings> mLiquidSettings;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 PoolElementStructureSection();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void
47 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) /*override*/;
48
49 virtual void appendRigid(
50 ::br::worldgen::TerrainAdjustment::Type type,
51 ::std::vector<::br::worldgen::Rigid>& rigids
52 ) /*override*/;
53
54 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const /*override*/;
55
56 virtual bool postProcess(
57 ::BlockSource& region,
58 ::IRandom& random,
59 ::BlockPos structurePos,
60 ::BoundingBox const& chunkBB,
61 ::br::worldgen::JigsawReplacement replacement
62 ) const /*override*/;
63
64 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI PoolElementStructureSection(
71 ::StructurePoolElement const& element,
72 ::BlockPos position,
73 int groundOffset,
74 ::Rotation rot,
75 ::BoundingBox box,
76 ::std::vector<::br::worldgen::JigsawJunction> const& junctions,
77 ::br::worldgen::LiquidSettings liquidSettings
78 );
79
80 MCAPI ::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const;
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(
87 ::StructurePoolElement const& element,
88 ::BlockPos position,
89 int groundOffset,
90 ::Rotation rot,
91 ::BoundingBox box,
92 ::std::vector<::br::worldgen::JigsawJunction> const& junctions,
93 ::br::worldgen::LiquidSettings liquidSettings
94 );
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCAPI void $appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions);
101
102 MCAPI void $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids);
103
104 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const;
105
106 MCAPI bool $postProcess(
107 ::BlockSource& region,
108 ::IRandom& random,
109 ::BlockPos structurePos,
110 ::BoundingBox const& chunkBB,
111 ::br::worldgen::JigsawReplacement replacement
112 ) const;
113
114 MCAPI void $placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const;
115
116
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
125
126} // namespace br::worldgen
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BoundingBox.h:13
Definition IRandom.h:10
Definition Random.h:10
Definition StructurePoolElement.h:40
Definition StructureSection.h:23
Definition PoolElementStructureSection.h:18
Definition JigsawJunction.h:10
Definition Rigid.h:11