MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / loadIndexedPackVersions

Method loadIndexedPackVersions

launcher/modplatform/flame/FlameModIndex.cpp:76–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76void FlameMod::loadIndexedPackVersions(ModPlatform::IndexedPack& pack,
77 QJsonArray& arr,
78 const shared_qobject_ptr<QNetworkAccessManager>& network,
79 BaseInstance* inst)
80{
81 QVector<ModPlatform::IndexedVersion> unsortedVersions;
82 auto profile = (dynamic_cast<MinecraftInstance*>(inst))->getPackProfile();
83 QString mcVersion = profile->getComponentVersion("net.minecraft");
84
85 for (auto versionIter : arr) {
86 auto obj = versionIter.toObject();
87
88 auto file = loadIndexedPackVersion(obj);
89 if(!file.addonId.isValid())
90 file.addonId = pack.addonId;
91
92 if(file.fileId.isValid()) // Heuristic to check if the returned value is valid
93 unsortedVersions.append(file);
94 }
95
96 auto orderSortPredicate = [](const ModPlatform::IndexedVersion& a, const ModPlatform::IndexedVersion& b) -> bool {
97 // dates are in RFC 3339 format
98 return a.date > b.date;
99 };
100 std::sort(unsortedVersions.begin(), unsortedVersions.end(), orderSortPredicate);
101 pack.versions = unsortedVersions;
102 pack.versionsLoaded = true;
103}
104
105auto FlameMod::loadIndexedPackVersion(QJsonObject& obj, bool load_changelog) -> ModPlatform::IndexedVersion
106{

Callers

nothing calls this directly

Calls 6

getPackProfileMethod · 0.80
getComponentVersionMethod · 0.80
appendMethod · 0.80
beginMethod · 0.80
endMethod · 0.80
isValidMethod · 0.45

Tested by

no test coverage detected