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;
18class JigsawBlockInfo;
20class Random;
23namespace SharedTypes::v1_21_80 { struct JigsawStructureMetadata; }
24// clang-format on
25
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mFeature;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 // vIndex: 0
41 virtual ::BlockPos getSize(::Rotation rotation) const /*override*/;
42
43 // vIndex: 1
44 virtual ::std::vector<::JigsawBlockInfo>
45 getJigsawMarkers(::BlockPos position, ::LegacyStructureSettings& settings, ::BlockSource* region) const
46 /*override*/;
47
48 // vIndex: 8
49 virtual bool place(
50 ::BlockSource& region,
51 ::BlockPos position,
52 ::Rotation rotation,
53 ::BoundingBox chunkBB,
54 ::Random& random,
55 ::std::unordered_map<::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
56 ::BlockPos refPos
57 ) const /*override*/;
58
59 // vIndex: 15
60 virtual ::StructurePoolElementType type() const /*override*/;
61
62 // vIndex: 16
63 virtual ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> createMetadata() const /*override*/;
64
65 // vIndex: 14
66 virtual ~FeaturePoolElement() /*override*/ = default;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
73 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
75 );
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void*
82 $ctor(::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager, ::WeakRef<::IFeature> feature);
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88 MCFOLD ::BlockPos $getSize(::Rotation rotation) const;
89
90 MCAPI ::std::vector<::JigsawBlockInfo>
91 $getJigsawMarkers(::BlockPos position, ::LegacyStructureSettings& settings, ::BlockSource* region) const;
92
93 MCAPI bool $place(
94 ::BlockSource& region,
95 ::BlockPos position,
96 ::Rotation rotation,
97 ::BoundingBox chunkBB,
98 ::Random& random,
99 ::std::unordered_map<::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
100 ::BlockPos refPos
101 ) const;
102
103 MCFOLD ::StructurePoolElementType $type() const;
104
105 MCAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> $createMetadata() const;
106 // NOLINTEND
107
108public:
109 // vftables
110 // NOLINTBEGIN
111 MCNAPI static void** $vftable();
112 // NOLINTEND
113};
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BoundingBox.h:13
Definition FeaturePoolElement.h:26
static MCAPI void ** $vftable()
Definition IFeature.h:18
Definition JigsawBlockInfo.h:14
Definition LegacyStructureSettings.h:22
Definition Random.h:10
Definition StructureManager.h:43
Definition StructurePoolElement.h:39
Definition WeakRef.h:8
Definition ActorDefinitionIdentifier.h:15