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 StructureProcessorPtr = ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>;
15
16 using StructureProcessorList =
17 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
18
19 using BlockRulesRegistryMap =
20 ::std::vector<::std::unique_ptr<::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>>>;
21
22 using BlockRulesLookupMap =
23 ::std::unordered_map<::std::string, ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const*>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<
29 8,
30 24,
31 ::std::vector<::std::unique_ptr<::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>>>>
32 mBlockRulesRegistry;
33 ::ll::TypedStorage<
34 8,
35 64,
36 ::std::unordered_map<::std::string, ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const*>>
37 mBlockRuleLookupMap;
38 ::ll::TypedStorage<
39 8,
40 64,
41 ::std::unordered_map<
42 ::std::string,
43 ::gsl::not_null<::std::shared_ptr<
44 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> const>>>>
45 mProcessors;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI ::std::optional<::gsl::not_null<::std::shared_ptr<
52 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> const>>>
53 get(::std::string_view key) const;
54
55 MCFOLD ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const* lookupByName(::std::string name) const;
56
57 MCAPI void record(
58 ::std::string_view key,
59 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> processors
60 );
61
62 MCAPI void registerBlockRules(
63 ::std::string name,
64 ::std::unique_ptr<::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>>&& ruleList
65 );
66
68 // NOLINTEND
69
70public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCAPI void $dtor();
74 // NOLINTEND
75};
Definition JigsawStructureBlockRulesRegistry.h:11
Definition StructurePoolBlockRule.h:13