LeviLamina
Loading...
Searching...
No Matches
JigsawStructureBlockRulesRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
8namespace br::worldgen { struct StructureProcessor; }
9// clang-format on
10
12public:
13 // JigsawStructureBlockRulesRegistry inner types define
14 using BlockRulesLookupMap =
15 ::std::unordered_map<::std::string, ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const*>;
16
17 using BlockRulesRegistryMap = ::std::vector<::std::unique_ptr<
18 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule>>>>>;
19
20 using StructureProcessorList =
21 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
22
23 using StructureProcessorPtr = ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<
29 8,
30 24,
31 ::std::vector<::std::unique_ptr<::std::vector<
32 ::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule>>>>>>
33 mBlockRulesRegistry;
34 ::ll::TypedStorage<
35 8,
36 64,
37 ::std::unordered_map<::std::string, ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const*>>
38 mBlockRuleLookupMap;
39 ::ll::TypedStorage<
40 8,
41 64,
42 ::std::unordered_map<
43 ::std::string,
44 ::gsl::not_null<::std::shared_ptr<
45 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> const>>>>
46 mProcessors;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI ::std::optional<::gsl::not_null<::std::shared_ptr<
53 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> const>>>
54 get(::std::string_view key) const;
55
56 MCFOLD ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const* lookupByName(::std::string name) const;
57
58 MCAPI void record(
59 ::std::string_view key,
60 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> processors
61 );
62
63 MCAPI void registerBlockRules(
64 ::std::string name,
65 ::std::unique_ptr<::std::vector<
66 ::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule>>>>&& ruleList
67 );
68
70 // NOLINTEND
71
72public:
73 // destructor thunk
74 // NOLINTBEGIN
75 MCAPI void $dtor();
76 // NOLINTEND
77};
Definition JigsawStructureBlockRulesRegistry.h:11
Definition StructurePoolBlockRule.h:11
Definition StructureProcessor.h:23