LeviLamina
Loading...
Searching...
No Matches
JigsawStructureParser.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7
8// auto generated forward declare list
9// clang-format off
10class FeatureRegistry;
15namespace SharedTypes::v1_21_20::JigsawStructureDefinition { struct Contents; }
16namespace SharedTypes::v1_21_20::JigsawStructureProcessorList { struct Contents; }
17namespace SharedTypes::v1_21_20::JigsawStructureSet { struct Contents; }
18namespace SharedTypes::v1_21_20::JigsawStructureTemplatePool { struct Contents; }
19namespace br::worldgen { class StructureInstance; }
20namespace br::worldgen { class StructureRegistry; }
21namespace br::worldgen { struct JigsawStructure; }
22namespace br::worldgen { struct StructureProcessor; }
23namespace br::worldgen { struct StructureSet; }
24// clang-format on
25
27public:
28 // JigsawStructureParser inner types define
29 using StructureProcessorList =
30 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
31
32public:
33 // static functions
34 // NOLINTBEGIN
35 MCAPI static ::std::shared_ptr<::br::worldgen::StructureInstance>
36 parseStructureInstanceFromLevelStorage(::std::string_view data, ::JigsawStructureRegistry const& registry);
37
38 MCAPI static ::std::vector<::br::worldgen::JigsawStructure> prepareJigsawDefinitionData(
39 ::std::vector<::SharedTypes::v1_21_20::JigsawStructureDefinition::Contents> const& jigsawsData,
41 );
42
43 MCAPI static ::std::unordered_map<::std::string, ::std::shared_ptr<::br::worldgen::StructureSet>>
44 prepareJigsawSetData(
45 ::std::vector<::SharedTypes::v1_21_20::JigsawStructureSet::Contents> const& stuctureSets,
46 ::br::worldgen::StructureRegistry const& structureRegistry
47 );
48
49 MCAPI static ::std::unordered_map<
50 ::std::string,
51 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>>
52 prepareProcessorsData(
53 ::std::vector<::SharedTypes::v1_21_20::JigsawStructureProcessorList::Contents> const& documents
54 );
55
56 MCAPI static ::std::vector<::StructureTemplatePool> prepareTemplatePoolsData(
57 ::std::vector<::SharedTypes::v1_21_20::JigsawStructureTemplatePool::Contents> const& templatePoolsData,
58 ::Bedrock::NotNullNonOwnerPtr<::IStructureTemplateManager> structureManager,
60 ::FeatureRegistry& features
61 );
62
63#ifdef LL_PLAT_S
64 MCAPI static ::br::worldgen::JigsawStructure processJigsawDefinition(
67 );
68#endif
69
70 MCAPI static ::std::string
71 serializeStructureInstanceForLevelStorage(::br::worldgen::StructureInstance const& instance);
72 // NOLINTEND
73};
Definition FeatureRegistry.h:21
Definition IStructureTemplateManager.h:16
Definition IWorldRegistriesProvider.h:25
Definition JigsawStructureRegistry.h:22
Definition StructureTemplatePool.h:16
Definition StructureInstance.h:20
Definition StructureRegistry.h:12
Definition JigsawStructureParser.h:26
Definition JigsawStructure.h:22
Definition StructureProcessor.h:23
Definition StructureSet.h:16