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/levelgen/structure/structurepools/JigsawReplacement.h"
8#include "mc/world/level/levelgen/v2/StructureSection.h"
9#include "mc/world/level/levelgen/v2/terrain_adjustment/Type.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class BlockSource;
15class BoundingBox;
16class IRandom;
17class Random;
19namespace SharedTypes::v1_21_50 { struct PoolElementStructureSection; }
20namespace br::worldgen { struct JigsawJunction; }
21namespace br::worldgen { struct Rigid; }
22// clang-format on
23
24namespace br::worldgen {
25
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::StructurePoolElement const*> mElement;
31 ::ll::TypedStorage<4, 4, int> mGroundOffset;
32 ::ll::TypedStorage<1, 1, ::Rotation> mRot;
33 ::ll::TypedStorage<4, 12, ::BlockPos> mPosition;
34 ::ll::TypedStorage<8, 24, ::std::vector<::br::worldgen::JigsawJunction>> mJunctions;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 // vIndex: 1
41 virtual void
42 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) /*override*/;
43
44 // vIndex: 2
45 virtual void appendRigid(
46 ::br::worldgen::TerrainAdjustment::Type type,
47 ::std::vector<::br::worldgen::Rigid>& rigids
48 ) /*override*/;
49
50 // vIndex: 4
51 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const /*override*/;
52
53 // vIndex: 3
54 virtual bool postProcess(
55 ::BlockSource& region,
56 ::IRandom& random,
57 ::BlockPos structurePos,
58 ::BoundingBox const& chunkBB,
59 ::br::worldgen::JigsawReplacement replacement
60 ) const /*override*/;
61
62 // vIndex: 5
63 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const /*override*/;
64
65 // vIndex: 0
66 virtual ~PoolElementStructureSection() /*override*/ = default;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI ::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const;
73 // NOLINTEND
74
75public:
76 // destructor thunk
77 // NOLINTBEGIN
78
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCAPI void $appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions);
85
86 MCAPI void $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids);
87
88 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const;
89
90 MCAPI bool $postProcess(
91 ::BlockSource& region,
92 ::IRandom& random,
93 ::BlockPos structurePos,
94 ::BoundingBox const& chunkBB,
95 ::br::worldgen::JigsawReplacement replacement
96 ) const;
97
98 MCAPI void $placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const;
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCAPI static void** $vftable();
105 // NOLINTEND
106};
107
108} // namespace br::worldgen
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:18
Definition IRandom.h:10
Definition Random.h:16
Definition StructurePoolElement.h:35
Definition PoolElementStructureSection.h:26
Definition StructureSection.h:22
Definition JigsawJunction.h:5
Definition serialize.h:11