LeviLamina
Loading...
Searching...
No Matches
JigsawStructureRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/registry/JigsawStructureActorRulesRegistry.h"
7#include "mc/world/level/levelgen/structure/registry/JigsawStructureBlockRulesRegistry.h"
8#include "mc/world/level/levelgen/structure/registry/JigsawStructureBlockTagRulesRegistry.h"
9#include "mc/world/level/levelgen/structure/registry/JigsawStructureElementRegistry.h"
10#include "mc/world/level/levelgen/structure/registry/StructureRegistry.h"
11#include "mc/world/level/levelgen/structure/registry/StructureSetRegistry.h"
12
13// auto generated forward declare list
14// clang-format off
15class BaseGameVersion;
19namespace SharedTypes::v1_21_20 { struct JigsawStructureData; }
20// clang-format on
21
22class JigsawStructureRegistry {
23public:
24 // JigsawStructureRegistry inner types define
25 using JigsawPoolLookupMap = ::std::unordered_map<::std::string, ::std::unique_ptr<::StructureTemplatePool>>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::StructureTemplatePool>>>
31 mJigsawPoolLookupMap;
32 ::ll::TypedStorage<8, 152, ::JigsawStructureBlockRulesRegistry> mJigsawBlockRulesRegistry;
33 ::ll::TypedStorage<8, 88, ::JigsawStructureBlockTagRulesRegistry> mJigsawBlockTagRulesRegistry;
34 ::ll::TypedStorage<8, 88, ::JigsawStructureActorRulesRegistry> mJigsawActorRulesRegistry;
35 ::ll::TypedStorage<8, 88, ::JigsawStructureElementRegistry> mJigsawElementRegistry;
36 ::ll::TypedStorage<8, 72, ::br::worldgen::StructureRegistry> mStructureRegistry;
37 ::ll::TypedStorage<8, 72, ::br::worldgen::StructureSetRegistry> mStructureSetRegistry;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SharedTypes::v1_21_20::JigsawStructureData>> mJigsawStructureData;
39 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI JigsawStructureRegistry();
45
46 MCFOLD ::JigsawStructureActorRulesRegistry& getJigsawStructureActorRulesRegistry();
47
48 MCFOLD ::JigsawStructureBlockRulesRegistry& getJigsawStructureBlockRulesRegistry();
49
50 MCFOLD ::JigsawStructureBlockTagRulesRegistry& getJigsawStructureBlockTagRulesRegistry();
51
52 MCFOLD ::SharedTypes::v1_21_20::JigsawStructureData const* getJigsawStructureData() const;
53
54 MCFOLD ::JigsawStructureElementRegistry& getJigsawStructureElementRegistry();
55
56 MCAPI void initialize(
57 ::StructureSpawnRegistry& structureSpawnRegistry,
58 ::BaseGameVersion const& baseGameVersion,
60 );
61
62 MCAPI ::StructureTemplatePool const* lookupByName(::std::string const& name) const;
63
64 MCAPI void registerPool(::std::unique_ptr<::StructureTemplatePool>&& pool);
65
66 MCAPI void
67 setJigsawStructureData(::std::unique_ptr<::SharedTypes::v1_21_20::JigsawStructureData>&& jigsawStructureData);
68
69 MCFOLD ::br::worldgen::StructureRegistry const& structureRegistry() const;
70
71 MCFOLD ::br::worldgen::StructureRegistry& structureRegistry();
72
73 MCFOLD ::br::worldgen::StructureSetRegistry& structureSetRegistry();
74
75 MCAPI ~JigsawStructureRegistry();
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor();
82 // NOLINTEND
83
84public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCAPI void $dtor();
88 // NOLINTEND
89};
Definition BaseGameVersion.h:13
Definition IWorldRegistriesProvider.h:25
Definition StructureSpawnRegistry.h:14
Definition StructureTemplatePool.h:16
Definition JigsawStructureData.h:16