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