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
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 // virtual functions
41 // NOLINTBEGIN
42 virtual void
43 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) /*override*/;
44
45 virtual void appendRigid(
46 ::br::worldgen::TerrainAdjustment::Type type,
47 ::std::vector<::br::worldgen::Rigid>& rigids
48 ) /*override*/;
49
50 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const /*override*/;
51
52 virtual bool postProcess(
53 ::BlockSource& region,
54 ::IRandom& random,
55 ::BlockPos structurePos,
56 ::BoundingBox const& chunkBB,
57 ::br::worldgen::JigsawReplacement replacement
58 ) const /*override*/;
59
60 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const /*override*/;
61
62 virtual ~PoolElementStructureSection() /*override*/ = default;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI ::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74 MCAPI void $appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions);
75
76 MCAPI void $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids);
77
78 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const;
79
80#ifdef LL_PLAT_S
81 MCAPI bool $postProcess(
82 ::BlockSource& region,
83 ::IRandom& random,
84 ::BlockPos structurePos,
85 ::BoundingBox const& chunkBB,
86 ::br::worldgen::JigsawReplacement replacement
87 ) const;
88#endif
89
90 MCAPI void $placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
101
102} // namespace br::worldgen
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BoundingBox.h:13
Definition IRandom.h:13
Definition Random.h:10
Definition StructurePoolElement.h:39
Definition PoolElementStructureSection.h:27
Definition StructureSection.h:22
Definition PoolElementStructureSection.h:18
Definition JigsawJunction.h:10
Definition Rigid.h:11