Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Structure.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/actor/spawn_category/Type.h"
8#include "mc/world/level/levelgen/structure/registry/OnStructurePlacedToken.h"
9#include "mc/world/level/levelgen/v2/generation_step/Type.h"
10#include "mc/world/level/levelgen/v2/terrain_adjustment/Type.h"
11
12// auto generated forward declare list
13// clang-format off
15struct BiomeIdType;
16namespace br::worldgen { class GenerationStub; }
17namespace br::worldgen { class StructureInstance; }
18namespace br::worldgen { struct GenerationContext; }
19namespace br::worldgen { struct StructureSpawnOverride; }
20// clang-format on
21
22namespace br::worldgen {
23
24struct Structure {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, ::br::worldgen::TerrainAdjustment::Type> mAdjustment;
29 ::ll::TypedStorage<8, 24, ::std::vector<::BiomeIdType>> mBiomes;
30 ::ll::TypedStorage<8, 32, ::std::string> mKey;
31 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SpawnCategory::Type, ::br::worldgen::StructureSpawnOverride>>
32 mMobs;
33 ::ll::TypedStorage<1, 1, ::br::worldgen::GenerationStep::Type> mStep;
34 ::ll::TypedStorage<8, 48, ::HashedString> mType;
35 ::ll::TypedStorage<4, 4, ::br::worldgen::OnStructurePlacedToken> mOnPlaced;
36 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::PoolAliasBinding>>> mPoolAliases;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 Structure& operator=(Structure const&);
42 Structure();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~Structure();
48
49 virtual ::std::optional<::br::worldgen::GenerationStub>
50 findValidGenerationPoint(::br::worldgen::GenerationContext& context) const = 0;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
57
58 MCAPI ::std::shared_ptr<::br::worldgen::StructureInstance>
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65 MCNAPI void* $ctor(::br::worldgen::Structure const&);
66 // NOLINTEND
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCNAPI void $dtor();
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCNAPI static void** $vftable();
78 // NOLINTEND
79};
80
81} // namespace br::worldgen
Definition PoolAliasBinding.h:10
Definition GenerationStub.h:17
Definition StructureInstance.h:20
Definition BiomeIdType.h:8
Definition GenerationContext.h:18
Definition StructureSpawnOverride.h:16
Definition Structure.h:24
static MCAPI void ** $vftable()
MCAPI void * $ctor(::br::worldgen::Structure const &)
MCAPI Structure(::br::worldgen::Structure const &)
Definition context.h:5