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/StructureSection.h"
10#include "mc/world/level/levelgen/v2/terrain_adjustment/Type.h"
11
12// auto generated forward declare list
13// clang-format off
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 MCNAPI ::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const;
73 // NOLINTEND
74
75public:
76 // virtual function thunks
77 // NOLINTBEGIN
78 MCNAPI void $appendJunctions(::BoundingBox const& box, ::std::vector<::br::worldgen::JigsawJunction>& junctions);
79
80 MCNAPI void
81 $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid>& rigids);
82
83 MCNAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) const;
84
85 MCNAPI bool $postProcess(
86 ::BlockSource& region,
87 ::IRandom& random,
88 ::BlockPos structurePos,
89 ::BoundingBox const& chunkBB,
90 ::br::worldgen::JigsawReplacement replacement
91 ) const;
92
93 MCNAPI void $placeEntities(::BlockSource& region, ::BoundingBox const& overlapBB) const;
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101};
102
103} // namespace br::worldgen
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:13
Definition IRandom.h:10
Definition Random.h:11
Definition StructurePoolElement.h:35
Definition PoolElementStructureSection.h:26
MCAPI bool $postProcess(::BlockSource &region, ::IRandom &random, ::BlockPos structurePos, ::BoundingBox const &chunkBB, ::br::worldgen::JigsawReplacement replacement) const
MCAPI void $placeEntities(::BlockSource &region, ::BoundingBox const &overlapBB) const
MCAPI void $appendJunctions(::BoundingBox const &box, ::std::vector<::br::worldgen::JigsawJunction > &junctions)
MCAPI::SharedTypes::v1_21_50::PoolElementStructureSection serialize() const
MCAPI void $appendRigid(::br::worldgen::TerrainAdjustment::Type type, ::std::vector<::br::worldgen::Rigid > &rigids)
MCAPI bool $postProcess(::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB) const
Definition StructureSection.h:22
Definition JigsawJunction.h:5