LeviLamina
Loading...
Searching...
No Matches
StructureTemplatePool.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/Projection.h"
7
8// auto generated forward declare list
9// clang-format off
10class Random;
14// clang-format on
15
16class StructureTemplatePool {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 32, ::std::string> mName;
21 ::ll::TypedStorage<8, 24, ::std::vector<::StructurePoolElement const*>> mTemplates;
22 ::ll::TypedStorage<8, 32, ::std::string> mFallback;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 StructureTemplatePool();
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI StructureTemplatePool(
33 ::std::string name,
34 ::std::string fallback,
35 ::std::vector<::std::pair<::StructurePoolElement const*, int>> const& templates
36 );
37
38 MCAPI ::std::vector<uint64> getShuffledTemplateIndexes(::Random& random) const;
39
40 MCAPI ~StructureTemplatePool();
41 // NOLINTEND
42
43public:
44 // static functions
45 // NOLINTBEGIN
46 MCAPI static ::std::unique_ptr<::StructureTemplatePool> create(
48 ::std::string_view name,
49 ::std::string_view fallback,
50 ::std::initializer_list<::WeightedStructureTemplateRegistration> pieces,
51 ::Projection projection
52 );
53 // NOLINTEND
54
55public:
56 // constructor thunks
57 // NOLINTBEGIN
58 MCAPI void* $ctor(
59 ::std::string name,
60 ::std::string fallback,
61 ::std::vector<::std::pair<::StructurePoolElement const*, int>> const& templates
62 );
63 // NOLINTEND
64
65public:
66 // destructor thunk
67 // NOLINTBEGIN
68 MCFOLD void $dtor();
69 // NOLINTEND
70};
Definition Random.h:10
Definition StructurePoolElement.h:39
Definition StructureTemplateRegistrationContext.h:17
Definition WeightedStructureTemplateRegistration.h:14
Definition context.h:5