Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI ::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 MCNAPI ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const* lookupByName(::std::string name) const;
57
58 MCNAPI void record(
59 ::std::string_view key,
60 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> processors
61 );
62
63 MCNAPI void registerBlockRules(
64 ::std::string name,
65 ::std::unique_ptr<::std::vector<
66 ::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule>>>>&& ruleList
67 );
68 // NOLINTEND
69};
Definition JigsawStructureBlockRulesRegistry.h:11
MCAPI void registerBlockRules(::std::string name, ::std::unique_ptr<::std::vector< ::std::unique_ptr<::StructurePoolBlockRule, ::std::default_delete<::StructurePoolBlockRule > > > > &&ruleList)
MCAPI ::std::optional<::gsl::not_null<::std::shared_ptr< ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const > > > const > > > get(::std::string_view key) const
MCAPI void record(::std::string_view key, ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const > > > processors)
MCAPI ::std::vector<::std::unique_ptr<::StructurePoolBlockRule > > const * lookupByName(::std::string name) const
Definition StructurePoolBlockRule.h:12
Definition StructureProcessor.h:23