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 // vIndex: 1
43 virtual void
44 appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions) /*override*/;
45
46 // vIndex: 2
47 virtual void appendRigid(
48 ::br::worldgen::TerrainAdjustment::Type type,
49 ::std::vector<::br::worldgen::Rigid>& rigids
50 ) /*override*/;
51
52 // vIndex: 4
53 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const /*override*/;
54
55 // vIndex: 3
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 // vIndex: 5
65 virtual void placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const /*override*/;
66
67 // vIndex: 0
68 virtual ~PoolElementStructureSection() /*override*/ = default;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI ::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const;
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCAPI void $appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions);
81
82 MCAPI void $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids);
83
84 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const;
85
86 MCAPI bool $postProcess(
87 ::BlockSource& region,
88 ::IRandom& random,
89 ::BlockPos structurePos,
90 ::BoundingBox const& chunkBB,
91 ::br::worldgen::JigsawReplacement replacement
92 ) const;
93
94 MCAPI void $placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const;
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
100 MCNAPI static void** $vftable();
101 // NOLINTEND
102};
103
104} // namespace br::worldgen
Definition BlockPos.h:17
Definition BlockSource.h:66
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 JigsawJunction.h:9
Definition serialize.h:11