LeviLamina
Loading...
Searching...
No Matches
DimensionDefinitionGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/puv/LoadResult.h"
7#include "mc/world/level/GeneratorType.h"
8
9// auto generated forward declare list
10// clang-format off
14namespace SharedTypes::v1_21_60::DimensionDefinition { struct DimensionDocument; }
15namespace cereal { struct ReflectionCtx; }
16// clang-format on
17
18class DimensionDefinitionGroup {
19public:
20 // DimensionDefinitionGroup inner types declare
21 // clang-format off
23 // clang-format on
24
25 // DimensionDefinitionGroup inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 4, int> mHeightMinimum;
31 ::ll::TypedStorage<4, 4, int> mHeightMaximum;
32 ::ll::TypedStorage<4, 4, ::GeneratorType> mGeneratorType;
33 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionType;
34 // NOLINTEND
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::DimensionDefinitionGroup::DimensionDefinition>>
41 mDimensionDefinitions;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 DimensionDefinitionGroup();
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI DimensionDefinitionGroup(
53 ::ResourcePackManager* const rpm,
54 ::IMinecraftEventing& eventing
55 );
56
57#ifdef LL_PLAT_C
58 MCAPI void forEachDimensionDefinition(
59 ::std::function<void(::std::string const&, ::DimensionDefinitionGroup::DimensionDefinition const&)> callback
60 ) const;
61#endif
62
63 MCAPI ::std::optional<::DimensionDefinitionGroup::DimensionDefinition>
64 getDimensionDefinition(::std::string const& dimensionName) const;
65
66 MCAPI bool isEmpty() const;
67
68 MCAPI bool tryAddDimensionDefinition(
69 ::std::string const& dimensionName,
71 );
72
73 MCAPI ::Puv::LoadResult<::SharedTypes::v1_21_60::DimensionDefinition::DimensionDocument>
74 tryAddDimensionDefinitionByString(
75 ::std::string const& dimensionDefinitionJSON,
76 ::DimensionDataLoader dimensionLoader
77 );
78
79 MCAPI ~DimensionDefinitionGroup();
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void*
86 $ctor(::cereal::ReflectionCtx const& ctx, ::ResourcePackManager* const rpm, ::IMinecraftEventing& eventing);
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCFOLD void $dtor();
93 // NOLINTEND
94};
Definition DimensionDataLoader.h:16
Definition IMinecraftEventing.h:138
Definition ResourcePackManager.h:35
Definition DimensionDefinitionGroup.h:26
Definition ReflectionCtx.h:11
Definition ctx.h:5