Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IUIDefRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/platform/brstd/move_only_function.h"
8#include "mc/platform/threading/SharedLock.h"
9
10// auto generated forward declare list
11// clang-format off
12class ItemRegistryRef;
13class PackReport;
16struct PackInstanceId;
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // IUIDefRepository inner types define
23 using PackReportsCallback =
24 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const>;
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual void loadDefsList(
30 ::ResourceLocation const& defsListFile,
31 ::ResourcePackLoader const& packLoader,
32 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
33 ) = 0;
34
35 virtual void validateDefEntries(
36 ::ResourceLocation const& defsListFile,
37 ::ResourcePackLoader const& packLoader,
38 ::brstd::move_only_function<void(::std::unordered_map<::PackInstanceId, ::PackReport>&) const> onReportsReady
39 ) const = 0;
40
41 virtual ::Json::Value const& findDef(::std::string const& defNamespace, ::std::string const& defName) const = 0;
42
43 virtual ::Bedrock::Threading::SharedLock<::std::shared_mutex> acquireSharedLock() const = 0;
44
45 virtual void syncUILoad() = 0;
46
47 virtual void syncUILoadDefinitions() = 0;
48
49 virtual void syncUILoadDefinitionReferences() = 0;
50
51 virtual void cancelUIValidation() = 0;
52
53 virtual bool isLoadingDone() const = 0;
54
55 virtual bool isUILoadingDone() const = 0;
56
57 virtual bool isUIValidationDone() const = 0;
58
59 virtual void forEachControl(::std::function<void(::Json::Value const&, ::std::string const&)> callback) = 0;
60
61 virtual ::Json::Value const& getGlobalVariables() const = 0;
62
63 virtual void translateLegacyItemIdsInRepository(::ItemRegistryRef const itemRegistry) = 0;
64 // NOLINTEND
65};
Definition EnableNonOwnerReferences.h:7
Definition IUIDefRepository.h:5
Definition ItemRegistryRef.h:36
Definition Value.h:16
Definition PackReport.h:17
Definition ResourceLocation.h:15
Definition ResourcePackLoader.h:36
Definition PackInstanceId.h:8