LeviLamina
Loading...
Searching...
No Matches
FeaturePoolElement.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/util/Rotation.h"
9#include "mc/world/level/levelgen/structure/structurepools/StructurePoolElement.h"
10#include "mc/world/level/levelgen/structure/structurepools/StructurePoolElementType.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class BlockSource;
16class BoundingBox;
17class IFeature;
19class JigsawBlockInfo;
21class Random;
23namespace SharedTypes::v1_21_80 { struct JigsawStructureMetadata; }
24// clang-format on
25
26class FeaturePoolElement : public ::StructurePoolElement {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mFeature;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 FeaturePoolElement();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ::BlockPos getSize(::Rotation rotation) const /*override*/;
41
42 virtual ::std::vector<::JigsawBlockInfo>
43 getJigsawMarkers(::BlockPos position, ::LegacyStructureSettings& settings, ::BlockSource* region) const
44 /*override*/;
45
46 virtual bool place(
47 ::BlockSource& region,
48 ::BlockPos position,
49 ::Rotation rotation,
50 ::BoundingBox chunkBB,
51 ::Random& random,
52 ::std::unordered_map<::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
53 ::BlockPos refPos
54 ) const /*override*/;
55
56 virtual ::StructurePoolElementType type() const /*override*/;
57
58 virtual ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> createMetadata() const /*override*/;
59
60 virtual ~FeaturePoolElement() /*override*/ = default;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI FeaturePoolElement(
67 ::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager> structureManager,
69 );
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void*
76 $ctor(::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager> structureManager, ::WeakRef<::IFeature> feature);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI ::std::vector<::JigsawBlockInfo>
83 $getJigsawMarkers(::BlockPos position, ::LegacyStructureSettings& settings, ::BlockSource* region) const;
84
85 MCAPI bool $place(
86 ::BlockSource& region,
87 ::BlockPos position,
88 ::Rotation rotation,
89 ::BoundingBox chunkBB,
90 ::Random& random,
91 ::std::unordered_map<::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
92 ::BlockPos refPos
93 ) const;
94
95 MCFOLD ::StructurePoolElementType $type() const;
96
97 MCAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> $createMetadata() const;
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BoundingBox.h:13
static MCAPI void ** $vftable()
Definition IFeature.h:18
Definition IStructureTemplateManager.h:16
Definition JigsawBlockInfo.h:14
Definition LegacyStructureSettings.h:22
Definition Random.h:10
Definition WeakRef.h:8
Definition ActorDefinitionIdentifier.h:15
Definition JigsawStructureMetadata.h:16