LeviLamina
Loading...
Searching...
No Matches
ResourcePackStack.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/resource/PackType.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12class ContentIdentity;
15class PackInstance;
19// clang-format on
20
22public:
23 // ResourcePackStack inner types define
24 using PackInstanceStack = ::std::vector<::PackInstance>;
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::std::vector<::PackInstance>> mStack;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSourceReport>> mPackSourceReport;
31 // NOLINTEND
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 0
37 virtual ~ResourcePackStack();
38
39 // vIndex: 3
40 virtual ::std::vector<::LoadedResourceData> loadAllVersionsOf(::ResourceLocation const& resourceLocation) const;
41
42 // vIndex: 2
43 virtual bool
44 loadAllVersionsOf(::ResourceLocation const& resourceLocation, ::ResourcePackMergeStrategy& mergeStrategy) const;
45
46 // vIndex: 1
47 virtual bool loadAllVersionsOf(
48 ::ResourceLocation const& resourceLocation,
49 ::std::function<bool(::PackInstance const&)> const& packInstanceFilter,
50 ::ResourcePackMergeStrategy& mergeStrategy
51 ) const;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI void
58 add(::PackInstance packInstance,
59 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository const> const& repo,
60 bool isDependent);
61
62 MCAPI ::std::vector<::std::string> getPackTelemetryNamesWithVersion(::PackType type) const;
63
64 MCAPI void getSplitStacks(::ResourcePackStack& clientStack, ::ResourcePackStack& serverStack) const;
65
66 MCAPI bool hasPlatformLockedContent() const;
67
68 MCAPI bool isAssetExtractionViableForAll(
69 ::std::function<::std::string(::ContentIdentity const&)> getContentKey,
70 ::std::string const& sourceContext
71 ) const;
72
73 MCAPI void removeDuplicates();
74
75 MCAPI void removeIf(::std::function<bool(::PackInstance const&)> const& callback);
76
77 MCAPI void removeInvalidPacks();
78 // NOLINTEND
79
80public:
81 // static functions
82 // NOLINTBEGIN
83 MCAPI static void _populateDependencies(
84 ::std::vector<::PackInstance>& packStack,
85 ::PackInstance& packInstance,
86 ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository const> const& repo,
87 bool isDependent
88 );
89
90 MCAPI static ::std::unique_ptr<::ResourcePackStack>
91 deserialize(::std::istream& fileStream, ::Bedrock::NotNullNonOwnerPtr<::IResourcePackRepository const> const& repo);
92 // NOLINTEND
93
94public:
95 // static variables
96 // NOLINTBEGIN
97 MCAPI static ::std::map<::Core::PathBuffer<::std::string>, ::Core::PathBuffer<::std::string>>& mUpgradePathMap();
98 // NOLINTEND
99
100public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCAPI void $dtor();
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI ::std::vector<::LoadedResourceData> $loadAllVersionsOf(::ResourceLocation const& resourceLocation) const;
110
111 MCAPI bool
112 $loadAllVersionsOf(::ResourceLocation const& resourceLocation, ::ResourcePackMergeStrategy& mergeStrategy) const;
113
114 MCAPI bool $loadAllVersionsOf(
115 ::ResourceLocation const& resourceLocation,
116 ::std::function<bool(::PackInstance const&)> const& packInstanceFilter,
117 ::ResourcePackMergeStrategy& mergeStrategy
118 ) const;
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
Definition ContentIdentity.h:8
Definition PathBuffer.h:8
Definition IResourcePackRepository.h:33
Definition LoadedResourceData.h:5
Definition PackInstance.h:23
Definition PackSourceReport.h:5
Definition ResourceLocation.h:14
Definition ResourcePackMergeStrategy.h:10
Definition ResourcePackStack.h:21
static MCAPI void ** $vftable()