Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
UIDefRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/interface/IUIDefRepository.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/json/Value.h"
9#include "mc/platform/brstd/move_only_function.h"
10#include "mc/platform/threading/SharedLock.h"
11#include "mc/resources/ResourceLoadType.h"
12
13// auto generated forward declare list
14// clang-format off
15class ItemRegistryRef;
16class PackReport;
20struct PackInstanceId;
21// clang-format on
22
24public:
25 // UIDefRepository inner types declare
26 // clang-format off
27 class UIDefNamespace;
28 struct DefEntry;
29 // clang-format on
30
31 // UIDefRepository inner types define
32 class UIDefNamespace {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 32, ::std::string> mName;
37 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::Json::Value>> mDefs;
38 // NOLINTEND
39 };
40
41 struct DefEntry {
42 public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<4, 4, int> collectionIndex;
46 ::ll::TypedStorage<8, 32, ::std::string> ns;
47 ::ll::TypedStorage<8, 32, ::std::string> name;
48 ::ll::TypedStorage<8, 32, ::std::string> refNs;
49 ::ll::TypedStorage<8, 32, ::std::string> refName;
50 ::ll::TypedStorage<8, 16, ::Json::Value> jsonVal;
51 // NOLINTEND
52 };
53
54 using VisitNodeFunc = ::std::function<
55 ::Json::Value&(::std::string const&, ::std::string const&, ::std::string const&, ::Json::Value&)>;
56
57 using DefEntriesPtr = ::std::shared_ptr<::std::vector<::UIDefRepository::DefEntry>>;
58
59 using ReportsPtr = ::std::shared_ptr<::std::unordered_map<::PackInstanceId, ::PackReport>>;
60
61 using UIDefNamespaceMap = ::std::unordered_map<::std::string, ::UIDefRepository::UIDefNamespace>;
62
63public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager>> mResourceLoadManager;
67 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::UIDefRepository::UIDefNamespace>> mDefNamespaces;
68 ::ll::TypedStorage<8, 16, ::Json::Value> mGlobalVariables;
69 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mMutex;
70 // NOLINTEND
71
72public:
73 // prevent constructor by default
74 UIDefRepository();
75
76public:
77 // virtual functions
78 // NOLINTBEGIN
79 virtual void loadDefsList(
80 ::ResourceLocation const& defsListFile,
81 ::ResourcePackLoader const& packLoader,
82 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
83 ) /*override*/;
84
85 virtual void validateDefEntries(
86 ::ResourceLocation const& defsListFile,
87 ::ResourcePackLoader const& packLoader,
88 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
89 ) const /*override*/;
90
91 virtual ::Json::Value const& findDef(::std::string const& defNamespace, ::std::string const& defName) const
92 /*override*/;
93
94 virtual ::Bedrock::Threading::SharedLock<::std::shared_mutex> acquireSharedLock() const /*override*/;
95
96 virtual void syncUILoad() /*override*/;
97
98 virtual void syncUILoadDefinitions() /*override*/;
99
100 virtual void syncUILoadDefinitionReferences() /*override*/;
101
102 virtual void cancelUIValidation() /*override*/;
103
104 virtual bool isLoadingDone() const /*override*/;
105
106 virtual bool isUILoadingDone() const /*override*/;
107
108 virtual bool isUIValidationDone() const /*override*/;
109
110 virtual void
111 forEachControl(::std::function<void(::Json::Value const&, ::std::string const&)> callback) /*override*/;
112
113 virtual ::Json::Value const& getGlobalVariables() const /*override*/;
114
115 virtual void translateLegacyItemIdsInRepository(::ItemRegistryRef const itemRegistry) /*override*/;
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCNAPI explicit UIDefRepository(::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager);
122
124
126 ::ResourceLoadType loadType,
127 ::ResourceLocation const& defsListFile,
128 ::ResourcePackLoader const& packLoader,
129 ::std::shared_ptr<::std::vector<::UIDefRepository::DefEntry>> allDefEntries,
130 ::std::shared_ptr<::std::unordered_map<::PackInstanceId, ::PackReport>> packReports
131 ) const;
132
133 MCNAPI void _forEachControl(
134 ::Json::Value const& value,
135 ::std::string const& namePath,
136 ::std::function<void(::Json::Value const&, ::std::string const&)> callback
137 );
138 // NOLINTEND
139
140public:
141 // constructor thunks
142 // NOLINTBEGIN
143 MCNAPI void* $ctor(::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager);
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCNAPI void $loadDefsList(
150 ::ResourceLocation const& defsListFile,
151 ::ResourcePackLoader const& packLoader,
152 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
153 );
154
156 ::ResourceLocation const& defsListFile,
157 ::ResourcePackLoader const& packLoader,
158 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
159 ) const;
160
161 MCAPI ::Json::Value const& $findDef(::std::string const& defNamespace, ::std::string const& defName) const;
162
163 MCNAPI ::Bedrock::Threading::SharedLock<::std::shared_mutex> $acquireSharedLock() const;
164
165 MCNAPI void $syncUILoad();
166
168
170
171 MCNAPI void $cancelUIValidation();
172
173 MCNAPI bool $isLoadingDone() const;
174
175 MCNAPI bool $isUILoadingDone() const;
176
177 MCNAPI bool $isUIValidationDone() const;
178
179 MCNAPI void $forEachControl(::std::function<void(::Json::Value const&, ::std::string const&)> callback);
180
181 MCNAPI ::Json::Value const& $getGlobalVariables() const;
182
183 MCNAPI void $translateLegacyItemIdsInRepository(::ItemRegistryRef const itemRegistry);
184 // NOLINTEND
185};
Definition IUIDefRepository.h:5
Definition ItemRegistryRef.h:36
Definition PackReport.h:17
Definition ResourceLoadManager.h:22
Definition ResourceLocation.h:15
Definition ResourcePackLoader.h:36
Definition UIDefRepository.h:14
Definition UIDefRepository.h:5
MCAPI ::Bedrock::Threading::SharedLock<::std::shared_mutex > $acquireSharedLock() const
MCAPI void _collectAllDefEntries(::ResourceLoadType loadType, ::ResourceLocation const &defsListFile, ::ResourcePackLoader const &packLoader, ::std::shared_ptr<::std::vector<::UIDefRepository::DefEntry > > allDefEntries, ::std::shared_ptr<::std::unordered_map<::PackInstanceId, ::PackReport > > packReports) const
MCAPI void $cancelUIValidation()
MCAPI void $syncUILoadDefinitions()
MCAPI bool $isUILoadingDone() const
MCAPI void $syncUILoad()
MCAPI void $translateLegacyItemIdsInRepository(::ItemRegistryRef const itemRegistry)
MCAPI void $validateDefEntries(::ResourceLocation const &defsListFile, ::ResourcePackLoader const &packLoader, ::brstd::move_only_function< void(::std::unordered_map<::PackInstanceId, ::PackReport > &) const > onReportsReady) const
MCAPI::Json::Value const & $getGlobalVariables() const
MCAPI void $loadDefsList(::ResourceLocation const &defsListFile, ::ResourcePackLoader const &packLoader, ::brstd::move_only_function< void(::std::unordered_map<::PackInstanceId, ::PackReport > &) const > onReportsReady)
MCAPI void _forEachControl(::Json::Value const &value, ::std::string const &namePath, ::std::function< void(::Json::Value const &, ::std::string const &)> callback)
MCAPI bool $isLoadingDone() const
MCAPI bool $isUIValidationDone() const
MCAPI void $forEachControl(::std::function< void(::Json::Value const &, ::std::string const &)> callback)
MCAPI void $syncUILoadDefinitionReferences()
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager > resourceLoadManager)
MCAPI void _applyGlobalColorFormat()
STL namespace.
Definition PackInstanceId.h:8
Definition UIDefRepository.h:16