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