16class StructureTemplatePool {
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;
27 StructureTemplatePool();
32 MCAPI StructureTemplatePool(
34 ::std::string fallback,
35 ::std::vector<::std::pair<::StructurePoolElement const*, int>>
const& templates
38 MCAPI StructureTemplatePool(
40 ::std::string_view name,
41 ::std::string_view fallback,
42 ::Projection projection,
43 ::std::initializer_list<::WeightedStructureTemplateRegistration> pieces
46 MCFOLD ::std::string
const& getFallback()
const;
48 MCAPI
int getMaxHeight()
const;
50 MCFOLD ::std::string
const& getName()
const;
52 MCAPI ::StructurePoolElement
const* getRandomTemplate(
::Random& random)
const;
54 MCAPI ::std::vector<uint64> getShuffledTemplateIndexes(
::Random& random)
const;
56 MCAPI ::StructurePoolElement
const* getTemplate(uint64 index)
const;
58 MCFOLD ::std::vector<::StructurePoolElement const*>
const& getTemplates()
const;
60 MCAPI
bool isValid()
const;
62 MCFOLD uint64 size()
const;
64 MCAPI ~StructureTemplatePool();
70 MCAPI static ::std::unique_ptr<::StructureTemplatePool> create(
72 ::std::string_view name,
73 ::std::string_view fallback,
74 ::std::initializer_list<::WeightedStructureTemplateRegistration> pieces,
75 ::Projection projection
84 ::std::string fallback,
85 ::std::vector<::std::pair<::StructurePoolElement const*, int>>
const& templates
90 ::std::string_view name,
91 ::std::string_view fallback,
92 ::Projection projection,
93 ::std::initializer_list<::WeightedStructureTemplateRegistration> pieces
Definition StructureTemplateRegistrationContext.h:17