refactor: switch Quilt mappings to hashed MojMap
This commit is contained in:
parent
35cfb41a9c
commit
89125fde22
@ -494,31 +494,6 @@ static bool getTrivialComponentChanges(const ComponentIndex & index, const Requi
|
|||||||
return succeeded;
|
return succeeded;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ComponentUpdateTask::findBestComponentVersion(const ComponentPtr component)
|
|
||||||
{
|
|
||||||
auto & components = d->m_list->d->components;
|
|
||||||
auto versions = component->getVersionList();
|
|
||||||
versions->load(d->netmode);
|
|
||||||
|
|
||||||
for (auto & version : versions->versions()) {
|
|
||||||
if (version->isRecommended()) { // only look at recommended versions
|
|
||||||
bool requirementsMet = true;
|
|
||||||
for (auto req : version->requires()) {
|
|
||||||
auto requirementMet = std::any_of(components.begin(), components.end(), [&req](ComponentPtr & cmp){
|
|
||||||
return cmp->getID() == req.uid && cmp->getVersion() == req.equalsVersion;
|
|
||||||
});
|
|
||||||
if (!requirementMet) {
|
|
||||||
requirementsMet = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (requirementsMet) // return first recommended version that meets all requirements
|
|
||||||
return version->version();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME, TODO: decouple dependency resolution from loading
|
// FIXME, TODO: decouple dependency resolution from loading
|
||||||
// FIXME: This works directly with the PackProfile internals. It shouldn't! It needs richer data types than PackProfile uses.
|
// FIXME: This works directly with the PackProfile internals. It shouldn't! It needs richer data types than PackProfile uses.
|
||||||
// FIXME: throw all this away and use a graph
|
// FIXME: throw all this away and use a graph
|
||||||
@ -615,13 +590,17 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
|
|||||||
{
|
{
|
||||||
component->m_version = "3.1.2";
|
component->m_version = "3.1.2";
|
||||||
}
|
}
|
||||||
|
else if (add.uid == "net.fabricmc.intermediary" || add.uid == "org.quiltmc.hashed")
|
||||||
|
{
|
||||||
|
auto minecraft = std::find_if(components.begin(), components.end(), [](ComponentPtr & cmp){
|
||||||
|
return cmp->getID() == "net.minecraft";
|
||||||
|
});
|
||||||
|
if(minecraft != components.end()) {
|
||||||
|
component->m_version = (*minecraft)->getVersion();
|
||||||
|
}
|
||||||
|
}
|
||||||
// HACK HACK HACK HACK FIXME: this is a placeholder for deciding what version to use. For now, it is hardcoded.
|
// HACK HACK HACK HACK FIXME: this is a placeholder for deciding what version to use. For now, it is hardcoded.
|
||||||
// ############################################################################################################
|
// ############################################################################################################
|
||||||
// below is not ugly anymore
|
|
||||||
else if (add.uid == "net.fabricmc.intermediary" || add.uid == "org.quiltmc.quilt-mappings")
|
|
||||||
{
|
|
||||||
component->m_version = findBestComponentVersion(component);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
component->m_dependencyOnly = true;
|
component->m_dependencyOnly = true;
|
||||||
|
@ -395,7 +395,7 @@ void VersionPage::on_actionChange_version_triggered()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
VersionSelectDialog vselect(list.get(), tr("Change %1 version").arg(name), this);
|
VersionSelectDialog vselect(list.get(), tr("Change %1 version").arg(name), this);
|
||||||
if (uid == "net.fabricmc.intermediary" || uid == "org.quiltmc.quilt-mappings")
|
if (uid == "net.fabricmc.intermediary" || uid == "org.quiltmc.hashed")
|
||||||
{
|
{
|
||||||
vselect.setEmptyString(tr("No intermediary mappings versions are currently available."));
|
vselect.setEmptyString(tr("No intermediary mappings versions are currently available."));
|
||||||
vselect.setEmptyErrorString(tr("Couldn't load or download the intermediary mappings version lists!"));
|
vselect.setEmptyErrorString(tr("Couldn't load or download the intermediary mappings version lists!"));
|
||||||
|
Loading…
Reference in New Issue
Block a user